Excel 64bit VBA で new ADODB.Streamが失敗する
環境は、Mac上のParallelsDesktopのWin7 64bit Excel2016の64bit版です。
この環境で、New ADODB.Stream が動きませんでした。
WindowsUpdateの関係か何か他の影響か、VMWareFusion7のWin7 64bit Excel2016の64bit版だと、うまく動いていました。
動かない環境では、次のようなエラーになります。
実行時エラー'-2147024703(800700c1)':
オートメーションエラーです。
%1 は有効な Win32 アプリケーションではありません。
この解消方法がわかりません。
正常動作する環境では、
参照設定
Microsoft AxtiveX Data Objects 6.1 Library
これが、下記のパスで64bit版のmsado15.dllをみています。
"C:\Program Files\Common Files\System\ado\msado15.dll"
失敗する環境では、ここが下記のパスで32bit版のものをみています。
"C:\Program Files (x86)\Common Files\System\ado\msado15.dll"
これを切り替える方法がわかりません。
VBAエディタの参照設定では64bit版のパスを指定しても、32bit版に切り替わってしまいます。
どのようにすれば直るか、などご存知の方おられましたら教えてください。
そもそも、この状況になった理由も不明です。
正常動作する環境では、32bit版Excelをインストールしたことがあり削除してから64bit版Excelをインストールしました。
異常動作するほうは、64bit版Excelしかいれてないです。
解決方法をご存知のかた、おられましたら、
教えてください。
よろしくお願いします。
※追記
エラーの出る環境で
Excel 2016 32bit版をインストールしてみましたが状況は変わらずでした。
ということで、Excel2016 64bit版、32bit版、区別なしにエラーになってしまう問題ということになります。
詳細は次のようなものです。
エラーの内容が変わりました。
Dim Stream As ADODB.Stream
Set Stream = New ADODB.Stream
上記のコードの Set New のところで
下記のエラーがでます。
実行時エラー '-2147024770(8007007e)':
オートメーションエラーです。
指定されたモジュールが見つかりません。
異常な環境の
参照設定は、変化なしで
Microsoft AxtiveX Data Objects 6.1 Library
"C:\Program Files (x86)\Common Files\System\ado\msado15.dll"
このようになっています。
解決方法ご存知の方おられましたら、教えてください。
検索しまくりましたが、解決策はみつかりませんでした。