Как vba n00b, некоторые другие вещи, которые я не знал
Оператор Declare идет вверху. VBA будет жаловаться, если объявление будет вставлено после вложенной декларации
Например, это будет работать
Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Sub Update
...
...
End Sub
Но это не сработает
Sub Update
...
...
End Sub
Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Вот как мы отображаем PID в окне сообщения в vbscript
Set app = CreateObject("Excel.Application")
MsgBox("Excel PID is " + CStr(app.Run("GetCurrentProcessId")))
Надеюсь, это кому-нибудь поможет