今回はAccessより入力したデータをExcelで使用したい場合のCSV形式(カンマ区切り)でファイル出力する方法を説明します。
なお、エクスポート機能を使用する方法はNO.30 テーブルのインポートとエクスポートを参照してください。
CSV形式のファイル出力するVBAを以下に説明します。
| 作成するVBA |
|---|
|
Dim adoRs As New ADODB.Recordset Dim strSql As String Dim strFile As String ・ ・ strSql = "select 所属CD,所属名,削除CD,更新日,登録日,ROWID from 所属 order by 所属CD" adoRs.Open strSql, CurrentProject.Connection 'クエリーを開く ・ strFile = "C:\My Documents\test.csv" '出力ファイル名 Open strFile For Output Access Write As #1 '出力ファイルを開く Do Until adoRs.EOF Write #1, _ CStr(adoRs.Fields("所属CD").Value), _ CStr(adoRs.Fields("所属名").Value), _ CStr(adoRs.Fields("削除CD").Value), _ CStr(adoRs.Fields("更新日").Value), _ CStr(adoRs.Fields("登録日").Value), _ CStr(adoRs.Fields("ROWID").Value) adoRs.MoveNext Loop adoRs.Close Close #1 '出力ファイルを閉じる ・ ・ |
各データフィールドの内容をCSV出力する場合にはCStr(adoRs.Fields("所属CD").Value)というようにCStr関数で文字列変換する必要があります。
テーブルのフィールド名も出力したい場合は以下の処理を追加します。
| 作成するモジュール |
|---|
|
strSql = "select 所属CD,所属名,削除CD,更新日,登録日,ROWID from 所属 order by 所属CD" adoRs.Open strSql, CurrentProject.Connection 'クエリーを開く strFile = "C:\My Documents\test.csv" '出力ファイル名 Open strFile For Output Access Write As #1 '出力ファイルを開く Write #1, _ CStr(adoRs.Fields(0).Name), _ CStr(adoRs.Fields(1).Name), _ CStr(adoRs.Fields(2).Name), _ CStr(adoRs.Fields(3).Name), _ CStr(adoRs.Fields(4).Name), _ CStr(adoRs.Fields(5).Name) |
上記の例題ですとフィールド出力する数が固定されてしまいます。 場合によってフィールド数を変えたい場合はExcel講座のNO.59 csv形式でファイル出力するを参考にしてください。
作成日:2005/01/27 更新日:2011/02/16
Copyright(C) 2002-2006 株式会社サープレス