###前提・実現したいこと
エクセルVBAのプログラムを2003(環境B)から2010(環境A)に移行したい
環境Bではまったく問題なく動作していますが、移行したら DLLを参照する部分で
エラーが発生します。
環境Aのエクセル2010でVBAを動作させたいので ご教授お願いします。
###発生している問題・エラーメッセージ
エクセル2010のVBAで実行時エラー53 (DLL)ファイルが見つかりません。
###該当のソースコード
DLLの記述部 Public Declare Function HidSmbus_GetNumDevices Lib "aaaa.dll" (ByRef numDevices As Long, ByVal vid As Integer, ByVal pid As Integer) As Long 該当のコード部分 Dim numDevices As Long Dim vid As Integer Dim pid As Integer Dim retA As Long '初期化 numDevices = -1 connectedDevice = -1 vid = 1234: pid = &HEA** retA = HidSmbus_GetNumDevices(numDevices, vid, pid) ←エラー発生
###試したこと
過去ログから調べて調査1、調査2、調査3、調査4 と色々と調べてみましたが
解決に至りませんでした。
DLLはメーカ製の過去品のため更新されていません
調査1 DLLファイルが正しく配置されアクセス可能か →どれも変わらずNG
C:\Windows\System32 及びエクセルファイルのあるフォルダーに aaaa.dll を配置し
ファイル名だけ または フルパス指定して読み出しをトライ。
aaaa.dll ファイルのプロパティ/セキュリティを確認し どのユーザからも
フルコントロール扱いにした
調査2 環境Aの時、「互換モード」( .xls)となっていたので新規に2010で
作成し( .xlsm)してみた →変わらずにNG
VBA作成は互換モードで起動したものからエクスポートして新規の方に
インポートした
調査3 参照設定について 環境Aと環境Bでは参照できないDLLファイルでした
その他の参照設定は最小の5つだけで同じでした。 → 環境による差はなかった
もちろんエクセルのバージョンによる番号の違いはあります
調査4 セキュリティ関連の確認(環境A)
すべてのマクロを有効にする(選択済)
VBAプロジェクトオブジェクトモデルへのアクセスを信頼する(チェック済)
###補足情報(言語/FW/ツール等のバージョンなど)
環境A
エクセル2010 バージョン: 14.0.7184.5000 32ビット
OS win7 64ビット
環境B
エクセル2003 SP3 バージョン: 11.8169.8172
OS XP SP3 32ビット

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/21 23:39