ADODB.ConnectionのOpen、ファイル名に「=」が含まれるとエラー

実現したいこと

ネットで検索して、「Excelファイルを開かずにシート名をチェック」するVBAコードを試しました。
どのページを参考にしたか忘れましたが、同様の情報は複数ありました。ありがとうございました。

https://binary-star.net/excel-vba-adox-get-sheets

【ExcelVBA】ブックを開かないでワークシート名を抽出

https://excel-ubara.com/excelvba5/EXCEL122.html

Excelファイルを開かずにシート名をチェック

https://ray88.hatenablog.com/entry/2022/05/28/070901

ファイルを開かずにシート名をまとめて取得する

など

発生している問題・分からないこと

ファイル名に「=」が含まれているとき、ADODB.ConnectionのOpenがエラーになるようです。

エラーメッセージ

error

1実行時エラー'-2147467259(800040005)' 2インストール可能なISAMドライバーが見つかりませんでした。

該当のソースコード

VBA

1Sub test() 2 Dim objCn As New ADODB.Connection 3 4 objCn.Provider = "Microsoft.ACE.OLEDB.12.0" 5 objCn.Properties("Extended Properties") = "Excel 12.0" 6 objCn.Open "c:\work\=.xlsx" '←ここでエラー!! 7 8 '(省略) 9 10End Sub 11

試したこと・調べたこと

上記の詳細・結果

自分なりに調べましたが、ファイル名に「=」を含む場合のエラーを回避できませんでした。
実際にはループして、大量のファイルを処理します。ファイル名に「=」を含む場合でも問題回避できる方法を教えてください。

補足

特になし

コメントを投稿

0 コメント