- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ADOでエクセルファイルの件数を取得したい)
ADOでエクセルファイルの件数を取得したい
このQ&Aのポイント
- エクセルファイルの件数をADOを使って取得する方法について教えてください。
- 特定のエクセルファイルの件数を取得するために、ADOを使用したいです。
- 「実行時エラー-2147467259 外部テーブルのフォーマットが正しくありません。」というエラーが発生しており、この問題の解決方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
"Microsoft.Jet.OLEDB.4.0" を "Microsoft.ACE.OLEDB.12.0" に "Excel 8.0" を "Excel 12.0" に変更してみてください。 Sub try() Const adOpenStatic = 3 Const sProvider = "Microsoft.ACE.OLEDB.12.0" Const sExtended = "Excel 12.0" Const sDtSource = "D:\Book1.xlsx" Const sSQL = "SELECT * FROM [sheet1$]" Dim wkCon As Object Dim wkRst As Object Set wkCon = CreateObject("ADODB.Connection") With wkCon .Provider = sProvider .Properties("Extended Properties") = sExtended .Properties("Data Source") = sDtSource .Open End With Set wkRst = CreateObject("ADODB.Recordset") wkRst.Open sSQL, wkCon, adOpenStatic Debug.Print wkRst.RecordCount wkRst.Close wkCon.Close Set wkRst = Nothing Set wkCon = Nothing End Sub
お礼
やはり"Excel 8.0"ではダメなようですね。 そして"Microsoft.Jet.OLEDB.4.0"もダメなのですか。 この部分だけではなく、サンプルコードまで作っていただきありがとうございます。 無事件数の取得ができました。