----------------------------------コードここから------------------------------ 01. Public Const DB As String = "(データベースファイル名をフルパスで入力)" 02. 03. Sub 出力テスト() 04. 05. Dim objCnn As New ADODB.Connection 06. Dim objCmd As New ADODB.Command 07. Dim objRec As New ADODB.Recordset 08. Dim SQL As String 09. 10. 'データの取得の準備 11. objCnn.Open ConnectionString:="Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & DB & ";" 12. Set objCmd.ActiveConnection = objCnn 13. 14. 'SQLをデータベースに送り実行 15. SQL = "SELECT * FROM DB例" 16. objCmd.CommandText = SQL 17. objCmd.CommandType = adCmdText 18. Set objRec = objCmd.Execute 19. 20. 'A1セルを起点にして全データを吐き出す 21. Worksheets(1).Range("a1").CopyFromRecordset objRec 22. 23. 'ADODBオブジェクトをクリア 24. If objRec.State <> ADODB.adStateClosed Then 25. objRec.Close 26. Set objRec = Nothing 27. End If 28. 29. If objCnn.State <> ADODB.adStateClosed Then 30. objCnn.Close 31. Set objCnn = Nothing 32. Set objCmd = Nothing 33. End If 34. 35. End Sub ----------------------------------コードここまで------------------------------
【17】は Const adCmdText As Long = 1 を追加 【24】は Const adStateClosed As Long = 0 を追加して If objRec.State <> adStateClosed Then ではどうでしょうか。 【21】は 【17】【18】にエラーがなければ動くと思います。