• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ADOでエクセルファイルの件数を取得したい)

ADOでエクセルファイルの件数を取得したい

このQ&Aのポイント
  • エクセルファイルの件数をADOを使って取得する方法について教えてください。
  • 特定のエクセルファイルの件数を取得するために、ADOを使用したいです。
  • 「実行時エラー-2147467259 外部テーブルのフォーマットが正しくありません。」というエラーが発生しており、この問題の解決方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.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

AZRDOLFWFBWO
質問者

お礼

やはり"Excel 8.0"ではダメなようですね。 そして"Microsoft.Jet.OLEDB.4.0"もダメなのですか。 この部分だけではなく、サンプルコードまで作っていただきありがとうございます。 無事件数の取得ができました。

関連するQ&A