- ベストアンサー
AccessでExcelの印刷範囲を設定する方法
- AccessからデータをExcelへエクスポートする際、印刷範囲の指定を行いたい場合、いくつかの手順があります。
- しかし、指定したセルに値をセットした後に印刷範囲を設定する方法は通常は機能しないようです。
- Access上ではExcelの印刷範囲を指定することは難しいかもしれません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
GetObject関数 http://officetanaka.net/excel/vba/function/GetObject.htm を参考に Dim xlapp As Object Set xlapp = GetObject(, "Excel.Application") xlapp.ActiveSheet.PageSetup.PrintArea = "$A$1:$I$30" とかかな?(自信ないですけど)
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
この質問は内容的にはエクセルVBAの質問か。 実行はエクセルからではなくアクセスVBAからか。「アクセス上では(エクセルの操作が出来ない・)」と言う表現は無いのでは。 ーー Googleで「オブジェクト変数またはwithブロック変数が設定されていません excel」で照会すればたくさん記事が出ます。どれに当たるか調べてください。 ActiveSheetを臨時に、Worksheets(”XXX”)と具体名を入れて指定し、実行してうまく行きませんか。もし旨く行けばエラーはこの表現にかかわるものでしょう
補足
説明が足りませんでした。すみませんでした。 >AccessからデータをExcelへエクスポートした際、 >印刷範囲の指定を行いたいのですが、うまくいきません。 >データを指定したセルにセットした後、 >ActiveSheet.PageSetup.PrintArea = "$A$1:$I$30" >と指定しているのですが、 と記述したのですが、わかりづらかったでしょうか? 一応VBAのコードを書いたので、アクセス上というのは 「ACCESS VBA上では・・・」という意味だったのですが・・・。 n-junさんのコードを記述したところ、無事印刷範囲が設定できました。 imogasiさんもご教授頂きありがとうございました。
お礼
Dim xlapp As Object ・ ・ ・ Set xlapp = GetObject(, "Excel.Application") xlapp.ActiveSheet.PageSetup.PrintArea = "$A$1:$I$30" と記述したところ、無事に印刷範囲が設定できました。 Setしていなかったのと、Objectを宣言していなかったのが原因だったんですね(汗 ありがとうございました!