Иногда приходится писать на новых для себя языках, и местами, не понимая грамматики и/или особенностей, чувствуешь себя как обезьяна с гранатой. Настала и моя очередь.
При запуске процедуры макроса получаю следующую ошибку:
В моём случае ошибка возникает, когда я пытаюсь адаптировать устаревший код под 64-битный Microsoft Office. Например, в следующем примере:
Решается проблема просто. Нужно вставить указанный выше код (или ему подобный) в начало модуля VBA, а именно до описания функций.
Полезно почитать:
http://support.microsoft.com/kb/983043
http://www.jkp-ads.com/articles/apideclarations.asp (перечень заголовков функций для win32 без PtrSafe и для win64 с PtrSafe)
При запуске процедуры макроса получаю следующую ошибку:
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При этом одну из строчек подсвечивает красным и сообщает о вышеуказанной ошибке.
Решается проблема просто. Нужно вставить указанный выше код (или ему подобный) в начало модуля VBA, а именно до описания функций.
Полезно почитать:
http://support.microsoft.com/kb/983043
http://www.jkp-ads.com/articles/apideclarations.asp (перечень заголовков функций для win32 без PtrSafe и для win64 с PtrSafe)
Комментариев нет:
Отправить комментарий