アクセスクエリの結果をコピーしてExcelタブに貼り付けようとしています。私は周りにグーグルしたが、それは動作するように見えることができない、私はエラー "エラー3343:認識されていないデータベース形式"ので、私はそれが私がチェックした参照とは何かがあると仮定します。VBA経由でExcelにクエリをコピーする(エラー3343)
私はこれを動作させるために必要な正しいリファレンスを知っていますか?
参考文献:
のVisual Basic用のアプリケーション
のMicrosoft Excel 14.0 Object Libraryの
OLEオートメーション
のMicrosoft Office 14.0 Object Libraryの
Microsoft ActiveXデータは、2.8ライブラリのオブジェクト
Microsft DAO 3.6オブジェクトライブラリ
Sub Query()
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim sql As String
Dim iCol As Integer
Sheets("DataDump1").Select
With Selection.ClearContents
End With
Set db = OpenDatabase("C:\Folder\DatabaseName.accdb")
Set rst = db.OpenRecordset("Query 1")
For iCol = 1 To rst.Fields.Count
ActiveSheet.Cells(1, iCol) = rst.Fields(iCol - 1).Name
Next iCol
ActiveSheet.Range("A2").CopyFromRecordset rst
rst.Close
db.Close
Set rst = Nothing
Set db = Nothing
End Sub
ありがとう、あなたの2番目のソリューションは、私にとって完璧に働いています。 – JBlack
素晴らしい! 2番目のオプションでは、ユーザーのコンピュータにMSAccess.exeをインストールする必要はありません。 .accdbファイルとPC(Ace/Jetエンジン - Windows .dllファイルがインストールされているはずです)をインストールしてください。 – Parfait