我想在 Python - COM 中执行以下 Excel VBA 代码的等效操作
Private Declare Function SetDllDirectory Lib "kernel32.dll" Alias "SetDllDirectoryA" ( _
ByVal lpPathName As String) As Boolean
所以现在在 Excel VBA 中,我可以调用SetDllDirectory(dllPath)
MSDN SetDllDirectory: http: //msdn.microsoft.com/en-gb/library/windows/desktop/ms686203 (v=vs.85).aspx
另一方面,在 Python 中,使用 win32com:
import win32com.client
xlapp = win32com.client.DispatchEx("Excel.Application")
我该怎么做xlapp.SetDllDirectory(dllPath)
(显然这是无效的,因此这个问题)?
我也尝试过ctypes.windll.kernel32.SetDllDirectoryA
,但这只是为 Python 设置 DLL 目录,而不是 xlapp(由 COM 操作的 Excel 实例)。
更多详细信息:本质上,我这样做是因为我尝试将 XLL 动态加载到 Excel (xlapp.RegisterXLL) 中。但是这个特定的 xll 文件需要一个位于特定路径中的 dll。因此,我希望能够设置 DLL 路径。
非常感谢!克里斯