среда, 11 сентября 2013 г.

VBA: как выполнить скрипт Perl и/или любого другого командного интерпретатора

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

Рассмотрим наиболее удобный (для меня) способ выполнения программ на языке Perl из программ, написанных на VBA.

VBA: ошибка "Compile error: Only comments may appear after End Sub, End Function, or End Property"

Иногда приходится писать на новых для себя языках, и местами, не понимая грамматики и/или особенностей, чувствуешь себя как обезьяна с гранатой. Настала и моя очередь.

При запуске процедуры макроса получаю следующую ошибку:
Compile error:
Only comments may appear after End Sub, End Function, or End Property

В моём случае ошибка возникает, когда я пытаюсь адаптировать устаревший код под 64-битный Microsoft Office. Например, в следующем примере:
#If VBA7 Then
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If
При этом одну из строчек подсвечивает красным и сообщает о вышеуказанной ошибке.