Могу ли я использовать условную компиляцию для добавления отсутствующих типов?

Последующий:

#If False Then
    Public Type Long
        LoPart As Integer
        HiPart As Integer
    End Type
#End If

Выдает ошибку компилятора "Ожидается: идентификатор" при запуске в моем 32-разрядном офисе VBA7 (Excel). Это потому что Long это защищенный тип. Тем не менее, я понял, что компилятор не должен видеть, что находится в блоке (так как условие всегда ложно).

Почему я все еще получаю ошибку?

Я все еще могу писать и запускать код, используя переменные Long - мой тип не отображается в intellisense. Но линия

Public Type Long

остается красным в редакторе, указывая на некоторые проблемы. Есть о чем беспокоиться?


NB, я пытаюсь написать замену LongPtr для систем, предшествующих VBA7, где его еще не было - из-за того, что кто-то может запустить VBA6 в 64-битном офисе - держу пари, что есть способ...

0 ответов

Другие вопросы по тегам