即効テクニック

ファイル操作・他アプリケーションとの連携

Excelへの出力(DAO)

(Access 97)
● 概要 ●

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に「都道府県」テーブルのデータがコピーされていることを確認してください。