ExcelのVBAでiconv.dllのiconv_open, iconv, iconv_closeを使おうと思い
Declare Function iconv_open Lib "iconv.dll" Alias "libiconv_open" _ (ByVal tocode As String, ByVal fromcode As String) As Integer
Sub test()
Dim a As Integer
a = iconv_open("aho", "aho")
End Sub
というようにして実行してみたのですが、「実行時エラー'49' DLLが正しく呼び出させません」というエラーが出てしまいます。
他の関数も同様にしてみたのですが、同じエラーが出てしまいます。
iconv.dllは以下のものを使用しています。
http://www.kaoriya.net/#LIBICONV
何分、dllを使うのは初めてに近く、正しく定義できているのかどうかも怪しいです。
よろしくご教授願います。
> iconv.dllは以下のものを使用しています。
# 以下、そのリンク先の内容を確認せずに回答しています。
> DLLが正しく呼び出させません
となると、DLL が stdCall になっていないのかも知れませんよ。
もしも呼び出し規約が cdecl になっていた場合は、VBA/VB6からの
利用はできません。(VB.NETならば cdecl でも stdCall でも呼べますが)
情報ありがとうございます。
> となると、DLL が stdCall になっていないのかも知れませんよ。
> もしも呼び出し規約が cdecl になっていた場合は、VBA/VB6からの
> 利用はできません。(VB.NETならば cdecl でも stdCall でも呼べますが
なるほど、そういうことがあるのですね。
確認してみます。
ツイート | ![]() |