| 
    
     |  | ▼tenjinyama さん: >Excel から呼ぶ関数ですが、Excel vba でどのように動的にロードが実現可能か分らないでいます。
 >
 >Excelのカレントフォルダに置いておけばよいのは分っているのですが、カレントフォルダの設定に制約を設けるのはトラブルの元なので、この方法は除外しました。
 ↑
 全然意味を理解してもらっていないようなので少し詳しくかきます。
 
 dllファイルはもちろん任意のフォルダにあるとします。
 例として ThisWorkbookと同じフォルダにxxx.dllがあると仮定して...
 
 案1.dllのフォルダへ ChDir してdllの関数を呼ぶ。
 Sub test1()
 Dim Path$
 Path = ThisWorkbook.Path
 ChDrive Path
 ChDir Path
 'ここでdllの関数を用いる
 End Sub
 
 案2.明示的にOpenイベントあたりで LoadLibrary関数(api)でdllファイルをロードする。
 Private Sub Workbook_Open()
 Dim Dll$
 Dll = ThisWorkbook.Path & "\xxx.dll"
 LoadLibrary Dll
 End Sub
 'これ以降dllの関数はいつでも使える。
 'LoadLibraryのDeclareステートメントは自分で記述してください。
 
 |  |