- 締切済み
WORDのVBAで印刷プレビューの制御方法
excelからVBAでWORDを起動させ、エクセルデータをWORDの宛て名ファイルに差込み、印刷プレビューまでさせています。 EXCELでは、印刷プレビューの次の行のコマンドはプレビューを閉じないと実行されませんが、WORDでは実行されてしまいます。 今やりたいのは、WORDの宛名ファイルを印刷したあと、WORD自体は保存しないで終了し、EXCELだけ起動した状態にするということです。 ActiveDocument.PrintPreview ActiveDocument.Close = False と記述しただけでは、印刷できないまま、WORDが終了してしまいます。 何かよい方法があるでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yohsshi
- ベストアンサー率55% (369/665)
回答No.2
Dim i As Integer For i = 1 To 2 If i= 1 Then ActiveDocument.PrintPreview i=InputBox("印刷する場合は1をしない場合は2を入力","確認") Else ActiveDocument.PrintOut End if Next i 確認していないので動かないかもしれません。 駄目だったら、プレビューのマクロと印刷のマクロの2パターンを書くしかないかもしれません。
- yohsshi
- ベストアンサー率55% (369/665)
回答No.1
印刷したいならば PrintPreview ではなく PrintOut を使用すれば良いのではないでしょうか
質問者
補足
回答ありがとうございます。 印刷するまえに内容を確認したいので、あえてPrintPreview にしています。 印刷しないという選択肢もあるので。 ということで引き続きよろしくお願いいたします。
お礼
回答ありがとうございます。 IF文を使った分岐を参考にさせていただき解決しました。 ActiveDocument.PrintPreview の後にINPUTBOXだとプレビュー表示後、「2ページ目だけ印刷したい」のような細かい設定ができないため、フォームをShowModal=:falseで介在させることで課題をクリアすることができました。 ありがとうございます。