#if, #else, #end if… что означают знаки решетки в VBA?

Я пишу код, который проверяет, доступен ли файл для извлечения из SharePoint, и, если это не так, предупреждает пользователя и сообщает ему, что файл используется кем-то другим, а у кого он есть, используется.

Я наткнулся на фрагмент кода на этом сайте: http://www.xcelfiles.com/IsFileOpen.html#anchor_37

Сам код довольно хорош и, кажется, работает в тестовых сценариях, поэтому я планирую адаптировать его для своих целей, но у меня возникли проблемы с пониманием некоторых используемых синтаксисов, потому что я никогда раньше не видел ничего подобного.

#If Not VBA6 Then

'// Xl97

For i = j - 1 To 1 Step -1

    If Mid(strXl, i, 1) = Chr(0) Then Exit For

Next

i = i + 1

#Else

'// Xl2000+

i = InStrRev(strXl, strFlag1, j) + Len(strFlag1)

#End If

Я понимаю, что делает код, но я просто не понимаю, что значение символа '#' является?

Другой пример его использования:

hdlFile = FreeFile

Open strPath For Binary As #hdlFile

strXl = Space(LOF(hdlFile))

Get 1, , strXl

Close #hdlFile

Я уверен, что есть действительно очевидный ответ на этот вопрос, но это одна из вещей, которая является головной болью для Google, потому что она настолько расплывчата. : (

Большое спасибо,

Сплат

23
задан Splatgore 12 June 2011 в 23:46
поделиться