我正在尝试将VB6程序转换为Python。现有代码使用COM DLL(也用VB6编写),在下面的代码中称为“ ThisDll.dll”。这是针对类型库(“ ThisTypeLib.dll”)构建的。在VB6中,ThisTypeLib.dll出现在项目引用中,其代码如下:
Dim oThisClass As ThisTypeLib.IThisClass
Dim oTemp As Object
Set oTemp = CreateObject("ThisDll.CThisClass")
If TypeOf oTemp Is IThisClass Then
Set oThisClass = oTemp
oThisClass.OpenFile(sFileName)
这是我到目前为止在Python中拥有的代码:
import win32com.client
from win32com.client import gencache, constants
gencache.EnsureModule('<GUID>', 0, 1, 0)
thisClass = win32com.client.Dispatch("ThisDll.CThisClass")
thisClass.OpenFile(fileName)
我已使用makepy.py
为typelib生成Python源。但是,当我运行Python代码时,我收到了AttributeError
调用的OpenFile
异常。我在做什么错了?