- ベストアンサー
【アクセス97】アクセスからエクセルへの変換での質問
アクセス97での質問です。 以下にあるようなテーブル(1)をエクスポートでエクセルにだします。 その際、ふつうにエクスポートするとヘッダーがでてしまいます。 これを出さずにエクスポートする方法を教えてください。 (どんな方法を使っても結果、このテーブルがエクセルに書き出されればOKです。 VBAでもかまいません・・・。) <アクセステーブル(1)> 題名 作者 ISBN番号 読み仮名 アクセス入門 田中一郎 00000000 アクセスニュウモン エクセル入門 鈴木二郎 00000001 エクセルニュウモン ワード入門 佐藤三郎 00000002 ワードニュウモン 一太郎入門 加藤五郎 00000003 イチタロウニュウモン 花子入門 伊藤六郎 00000004 ハナコニュウモン ↓エクスポート↓ <エクセル> アクセス入門 田中一郎 00000000 アクセスニュウモン エクセル入門 鈴木二郎 00000001 エクセルニュウモン ワード入門 佐藤三郎 00000002 ワードニュウモン 一太郎入門 加藤五郎 00000003 イチタロウニュウモン 花子入門 伊藤六郎 00000004 ハナコニュウモン よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
CSVファイルでよければ、マクロでできますね。 コードを書いて、ExcelBookを作ってみました。 Bookを作った後、列幅を揃えたり、保存したりしています。不要なら削除して下さい。 Microsoft DAO 3.6 Object Library(多分・・・。Access97は何?)を参照設定します。 当方、Access2000で確認済みですが、Access97でも大丈夫と思います。 Sub MakeExcelSheet() ' <<<Microsoft DAO 3.6 Object Libraryを参照設定 >>> Dim myExcel As Object 'Excelオブジェクト Dim myBook As Object 'ブック Dim rw As Long, col As Integer '行、列カウンタ Dim db As DAO.Database 'データベース Dim rs As DAO.Recordset 'レコードセット 'Excelオブジェクトを作る Set myExcel = CreateObject("Excel.Application") myExcel.Visible = False 'TrueでExcelBookが見える '新規Bookを作る Set myBook = myExcel.Workbooks.Add 'データベース Set db = CurrentDb Set rs = db.OpenRecordset("テーブル1") '例『テーブル1』 With myExcel .ScreenUpdating = False 'Excelの表示を止める .DisplayAlerts = False 'メッセージを出さない 'テーブルの内容をExcelシートに出力 While rs.EOF = False rw = rw + 1 For col = 1 To rs.Fields.Count .Cells(rw, col).Value = rs.Fields(col - 1).Value Next rs.MoveNext '次のレコード Wend .ScreenUpdating = True '表示の再開 .Cells.Select .Cells.EntireColumn.AutoFit '列幅を最適化 .Cells(1, 1).Select .ActiveWorkbook.Saved = True .ActiveWorkbook.SaveAs Filename:="A:\myBook1xxx.xls" 'ファイル名を指定 .DisplayAlerts = True .Quit End With rs.Close db.Close Set rs = Nothing Set db = Nothing Set myExcel = Nothing End Sub
その他の回答 (1)
- tutty2
- ベストアンサー率53% (7/13)
CSVで出力したらいかがですか? CSVなら、EXCELに関連付けられているので、ファイルをダブルクリックすればEXCELで開きます。 エクスポートの際に、ファイル形式テキストを選択し、ファイル名の拡張子を「txt」から「csv」に書き直します。 そして、区切り記号を「カンマ」、「フィールド名を先頭の行に格納する」のチェックボックスは空欄のままで出力すれば、ヘッダーは出力せずエクセルで開きます。