Pythonで以下のExcel VBAコードと同等のことをしたい - COM
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 パスを設定する機能が必要です。
どうもありがとう!クリス