3
我有一個python腳本,我轉換成COM服務器。現在我想從VBA(Access)調用它。從VBA調用COM對象
我已經試過這樣:
Sub test()
Dim PyScript
Dim var
Set PyScript = CreateObject("PythonDemos.CodeScript")
var = PyScript.CodeReader()
Debug.Print var
End Sub
,但我得到的創建對象錯誤(...): 自動化錯誤2147024770
從我讀這意味着模塊「PythonDemos」即可不被發現。
這裏是Python代碼:
class Main:
_public_methods_ = ['CodeReader']
_reg_progid_ = "PythonDemos.CodeScript"
_reg_clsid_ = "{B74B241B-0699-4332-8145-145512D332D1}"
def CodeReader(self, item=None):
#do stuff here and return values
if __name__ == '__main__':
win32com.server.register.UseCommandLine(Main)
它運行良好,對自己,沒有問題的COM服務器被註冊。
我的問題是:如何從vba中正確調用python腳本?我的錯誤在哪裏?