Access VBA の DoCmd.PrintOut
メソッドは、アクティブなオブジェクト(フォーム、レポートなど)を印刷するために使用されます。印刷範囲や部数、印刷先などの細かい指定が可能です。
目次
🔹 基本構文
DoCmd.PrintOut [PrintRange], [PageFrom], [PageTo], [PrintQuality], [Copies], [CollateCopies]
🔸 引数の解説
引数名 | 型 | 説明 |
---|---|---|
PrintRange | AcPrintRange (省略可) | 印刷範囲を指定(例:acPages , acSelection , acAll ) |
PageFrom | Variant (省略可) | 印刷する開始ページ番号(PrintRange = acPages のとき使用) |
PageTo | Variant (省略可) | 印刷する終了ページ番号(PrintRange = acPages のとき使用) |
PrintQuality | Integer (省略可) | 印刷品質(-1: デフォルト、1: 高品質、低品質などプリンタ依存) |
Copies | Variant (省略可) | 印刷部数(既定値は 1) |
CollateCopies | Variant (省略可) | 部単位で印刷するかどうか(True または False ) |
🔸 AcPrintRange
定数
定数名 | 値 | 説明 |
---|---|---|
acPages | 2 | ページ範囲を指定 |
acSelection | 1 | 選択部分を印刷 |
acAll | 0 | 全ページを印刷(既定) |
🔹 使用例
✅ アクティブなオブジェクトをすべて印刷
DoCmd.PrintOut
✅ ページ 1〜3 を 2 部印刷(ページ順に)
DoCmd.PrintOut acPages, 1, 3, , 2, True
✅ 現在選択中のテキストのみ印刷
DoCmd.PrintOut acSelection
✅ 補足
- フォームの印刷はデザイン上、レポートより制御が難しいため、印刷用レポートの使用が推奨されます。
- 印刷対象が正しいか確認するために、事前に
DoCmd.OpenReport
などでプレビュー表示させるのも一般的です。