[[20090708110148]] 『印刷プレビューを表示して印刷』(もり) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『印刷プレビューを表示して印刷』(もり)

入力画面と印刷用シートを分けてあるブックがあります。
印刷のシートが複数あるため、印刷画面というシートを作り、そこでどのシートを印刷するという形にしたいのです。

例えば予算書のシートを印刷する時のマクロです。(過去ログなどから引用させて頂きました)

Sub 予算書の印刷()

 '印刷するマクロ

    Dim msg As Integer

      msg = MsgBox("印刷を実行しますか?", vbOKCancel + vbDefaultButton1 + vbInformation, "印刷確認")

        If msg = 1 Then

           Sheets("予算書").Select
           ActiveWindow.SelectedSheets.PrintOut Copies:=1

        End If
End Sub

そこで、印刷する前に一度プレビューにて確認したうえで印刷をしたいのです。
プレビューしてダメそうだったらキャンセルになり戻るというような形です。

どこにプレビューの部分を入れて良いのか分かりません。
無知で恥ずかしいのですが、誰か宜しくお願い申し上げます。

XP/2000


 今まで、印刷プレビューを操作するコードを見たことがないので、
 印刷プレビューを表示したら、印刷するしないは操作する人任せになると思いますが。
 BeforePrintも印刷プレビューからきたのか判断できませんし、
 プレビュー表示のイベントを自分で作って、フラグを立てる等でしか判断材料が無いような気もします。
 面倒そうなので私だったらやりません。
 BJ


[[20090623145037]]
 これと類似の御質問ですね!!
 APIとBeforePrintイベントを組み合わせるとできます。
 が、フックを使ったコードになり、難しくなってしまいます。
 それでもというなら・・・ですが、リンク先でも書きましたが、

 >簡単に
 >sub 印刷()
 >'印刷シートの余白の設定やページ設定処理(マクロの記録参照)
 > worksheets("印刷シート").PrintPreview False
 >end sub

 >程度にして、印刷のページ等の設定は組み込みダイアログに任せてしまっては?

 ichinose


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.