こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

AccessからExcelの出力について

お世話になります。

AccessのテーブルデータをExcelへ出力をしたいのですが可能でしょうか?
詳細は、既存のExcelのファイルのセルを指定し、罫線を描いたり、データ型を指定したり、フォント、文字サイズ、セルの背景色、ヘッダーの指定、印刷時の用紙サイズ、印刷時の余白の設定なのですがAccessから操作できますでしょうか?

宜しくお願い致します。

投稿日時 - 2006-01-10 11:26:50

QNo.1886764

すぐに回答ほしいです

質問者が選んだベストアンサー

>コンパイルエラー:修飾子が不正です。
失礼しました。ざっと書いたものでSheetの宣言が一つ抜けてました。
Dim xlSheet As Excel.Worksheet
を追加してください。
Dim objExcelApp As Workbook
Dim strExcelFile As String
Dim strExcelSheet As String
Dim xlSheet As Excel.Worksheet '←追加
そして記述中の宣言以外の部分で使っているstrExcelSheet.Cells(1, 1).Value = "12"の部分から以下のstrExcelSheet.をxlSheet.に置き換えてください。
xlSheet.Cells(1, 1).Value = "12" のように。
VBEの編集の置換で簡単に出来ますので。

>データ型の指定・セルの背景色ヘッダーの指定の操作方法
Range("A1").Select
With Selection.Interior
.ColorIndex = 5 'ExcelのカラーNoの数字で指定
.Pattern = xlSolid
End With

ヘッダはWith xlSheet.PageSetupの中で
.LeftHeader = ""
.CenterHeader = "&""MS Pゴシック,太字""&16ヘッダ名"
.RightHeader = ""
で指定できます。上記は中ヘッダにゴシック太字ヘッダ名を指定。フッタは同様に下記で指定。
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""

Range("A19").Select
Selection.NumberFormatLocal = "\#,##0;\-#,##0;\0"
日付なら  = "yyyy/mm/dd;@" のように指定。

投稿日時 - 2006-01-10 18:10:31

お礼

遅くなり申し訳ございません。
無事に思い通りのものが出来ました。
大変助かりました。ありがとうございました。

投稿日時 - 2006-01-17 13:07:09

ANo.3

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

操作できます。
VBEの参照設定でMicrosoft Excel ?.? ObjectLibrary(バージョン不明なので)にチェックを入れます。
Private Sub Cmd1_Click()
On Error Resume Next

  Dim objExcelApp  As Workbook
  Dim strExcelFile As String
  Dim strExcelSheet As String

strExcelFile = "C:\test.xls" 'エクセルのファイル名

strExcelSheet = "sheet1" 'ブックのシート名
 
Set objExcelApp = GetObject(strExcelFile, "Excel.Sheet")

'※Excelの指定セルに値を代入する場合
strExcelSheet.Cells(1, 1).Value = "12"
'※セルのフォント等の指定
With objExcelApp.Worksheets(strExcelSheet)
With .Cells(1, 1)
 .Font.Size = 18   'フォントサイズの指定
 .Font.Name = "MS P明朝" 'フォントの指定
 .Font.Bold = True     '太字の指定
 End With
.Cells(1, 1).ColumnWidth = 8 'A列の幅を8に指定
.Rows(1).RowHeight = 26  '1行目の高さを26に指定
End With
'※罫線を引く
strExcelSheet.Range("A1:F6").Borders.LineStyle = xlContinuous  '指定範囲に格子の罫線を引く
strExcelSheet.Range("A1:F6").Borders(xlEdgeTop).LineStyle = xlGray75 '太線を引く
'(xlEdgeTop)(xlEdgeLeft)(xlEdgeRight)(xlEdgeBottom)で線引く部分を指定

With strExcelSheet.PageSetup
.PaperSize = xlPaperA4   '用紙サイズ指定(A4)の場合
.Orientation = xlPortrait  '印刷の向き横はxlLandscape

'※印刷時余白設定 各余白をCm単位で設定
.LeftMargin = xlApp.CentimetersToPoints(2)
.RightMargin = xlApp.CentimetersToPoints(2)
.TopMargin = xlApp.CentimetersToPoints(2.5)
.BottomMargin = xlApp.CentimetersToPoints(2.5)
.HeaderMargin = xlApp.CentimetersToPoints(1)
.FooterMargin = xlApp.CentimetersToPoints(1)
End With
strExcelSheet.PrintOut

objExcelApp.Application.Quit
Set objExcelApp = Nothing
End Sub

こんな感じでAccessからVBを使って操作できます。

投稿日時 - 2006-01-10 12:42:17

補足

重ね重ね申し訳ございません。
他の指定方法(ヘッダー、背景色など)はO_cyanさんが記述してくれたものを参考にできました。
でも、ボタンクリック時にうまく動作しません。
参照設定は行いました。
エラー内容は下記の通りです。
コンパイルエラー:修飾子が不正です。

宜しくお願い致します。

投稿日時 - 2006-01-10 16:18:27

お礼

O_cyanさん、大変理解しやすいサンプルをありがとうございます。
度々で申し訳ございませんが、データ型の指定、セルの背景色、ヘッダーの指定の操作(指定)方法もご教授お願いできますでしょうか?

宜しくお願い致します。

投稿日時 - 2006-01-10 13:30:34

ANo.1

CELSIOR_2005さんこんにちは

以前Accessを使っておりました。

>Excelのファイルのセルを指定し、罫線を描いたり、
>データ型を指定したり、フォント、文字サイズ、
>セルの背景色、ヘッダーの指定、印刷時の用紙サイズ、
>印刷時の余白の設定
上記ですと全て実現可能です。

投稿日時 - 2006-01-10 11:39:54

お礼

ednanさん、早速のご回答ありがとうございます。

説明不足で申し訳ございません。
初心者なものでサンプル的なものや参考サイトなどを教えていただけると助かります。お願いできますでしょうか?

宜しくお願い致します。

投稿日時 - 2006-01-10 11:51:53

あなたにオススメの質問