久々にVBAでエラーが出た

いや、会社のPCを入れ替えたので、
環境設定から考えなきゃいけないとは思ってた

でも、Windows10 64bit(1809)から Windows10 64bit(2109)だったし
Excelも 2016 から 2108 だったので
oracle12cを参照するだけなら関係ないって思ってた

違ったんだよね

 

まず、「3706/プロバイダーが見つかりません」となった

調べたら64bit ODAC12.2cRelease1(12.2.0.1.1)for Windows64を
ダウンロードしてインストールしろと出てきたが
Windows機が64bitと32bit、Excelが2019と2013の場合なので
うかつに入れられない

EXCELから手動でOracle12cにつないでSEGSを抽出し
そのマクロやクエリーを検証してみることにした

オプションからレガシーを追加しておいて
データタブから接続してみた


結果から言うとマクロの記録は意味がなく
クエリーを覗くしかなかった

Provider=MSDAORA のところを
Provider=OraOLEDB.Oracle.1 と変更すれば
そのまま使用できたよ