● 概要 ●
AccessのテーブルのデータをExcelのRangeオブジェクトのCopyFromRecordsetメソッドを用いてExcelシートに貼り付けます。
CopyFromRecordsetメソッドの書式は、expression.CopyFromRecordset(Data, MaxRows, MaxColumns)となります。
ここでは第1引数に「都道府県」テーブルのRecordsetを指定してExcelシートに貼り付けています。第2,3引数は省略可能です。省略した場合はRecordsetの全てのデータがコピーされます。
expressionにはコピー先のExcelシート上の位置を指定します。なお、CopyFromRecordsetメソッドはDAOのRecordsetのみ使用可能です。
● サンプルプログラム ●
Private Sub ExportExcel_DAO()
Dim DB As Database
Dim rst As Recordset
Dim objExcel As Excel.Application
Set DB = OpenDatabase("d:\northwind.mdb")
Set rst = DB.OpenRecordset("都道府県", dbOpenTable)
'出力先のExcelファイルを指定
Set objExcel = New Excel.Application
objExcel.Workbooks.Open ("d:\都道府県.xls")
objExcel.Worksheets("Sheet1").Select
'RecordSetオブジェクトをExcelシートにコピー
objExcel.Cells(1, 1).CopyFromRecordset rst
objExcel.Quit
rst.Close
DB.Close
Set DB = Nothing
Set rst = Nothing
Set objExcel = Nothing
MsgBox "終了"
End Sub
● 動作確認 ●
Excelファイル「都道府県.xls」のsheet1に「都道府県」テーブルのデータがコピーされていることを確認してください。