![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
EXCEL VBAでシートの印刷アプリを作っています。
印刷前にプレビューを見せたいので印刷プレビューダイアログを呼び出していますが、
印刷プレビュー後、実際に印刷に移る前に、ユーザ向けメッセージを出したいのです。
印刷プレビュー画面には「印刷」と「閉じる」ボタンがありますが
「印刷ボタン」を押した場合はVBA側でこう処理、
「閉じるボタン」を押した場合はこう処理
とVBA側で判定することは可能でしょうか。
ご指導お願いします。
参照用コード(思った通りに動作していませんが・・・・)
Private Sub Print_Sheet()
Dim i As Integer
Dim st As Worksheet
Set st = Worksheets("印刷シート")
i = MsgBox("印刷前にプレビューを表示しますか?", vbYesNo, "シート印刷")
If i = 6 Then
st.PrintPreview
End If
i = MsgBox("印刷を開始しますか?" & vbCr & vbLf & "印刷する場合は、プリンターの確認をしてください", _
vbYesNo, "シート印刷")
If i <> 6 Then
Exit Sub
Else
st.PrintOut
End If
Set st = Nothing
End Sub
上記のコードだと、印刷プレビューダイアログにおいて、
「閉じる」ボタンを押した場合はそのまま再度MsgBoxで印刷するか否かを聞きに行くので良いのですが
「印刷」ボタンを押した場合は印刷プレビューダイアログから印刷ダイアログが呼ばれそのまま印刷ができてしまいます。
(で、下のフローに流れてPrintOutメソッドで再度印刷してしまう)
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ANo.1です。
よく見たら質問の回答とは違いました。
質問の中のプログラムに、リンク先の「プレビューのボタンを使用不可にする」のプログラムを組み込んで、
st.PrintPreview
の部分を、
kEnablePreview st
にすると、質問中のプログラムがそのままでいいみたいです。
と言う事です。
No.2
- 回答日時:
余り自信ないが
Sub test01()
Dim a
a = Application.Dialogs(xlDialogPrintPreview).Show
MsgBox a
End Sub
を実行すると
閉じるをクリックー>FALSE
印刷したーー>TRUE
が返る(になる)。
ただ印刷の終った後しか出てこないが。
これが使えないでしょうか。
No.1
- 回答日時:
googleで探してみたら、こんなのありましたが・・・
http://homepage2.nifty.com/kmado/ke_m9.htm
E00M089(Excel2002) プレビューのボタンを使用不可にする
Excel2000で試したらできました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたが好きな本屋さんを教えてください
どのくらいの規模間で、どのような本が並んでいるか、どのような雰囲気なのかなどなど...
-
エクセルのマクロで印刷プレビューを閉じる方法
Excel(エクセル)
-
Excel VBA の印刷後の判定
Excel(エクセル)
-
エクセルのマクロ
Excel(エクセル)
-
-
4
印刷をキャンセル
Excel(エクセル)
-
5
イベントプロシージャ 印刷が終わったあと…
Visual Basic(VBA)
-
6
印刷ダイアログを表示させない方法
Visual Basic(VBA)
-
7
印刷プレビュー表示後ユーザーフォームが閉じません。
Visual Basic(VBA)
-
8
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
9
VBAで印刷の成功判定
Visual Basic(VBA)
-
10
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
Excel VBA 「印刷中」メッセージを非表示にしたい
その他(プログラミング・Web制作)
-
13
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
14
「プリンタの設定」ダイアログボックスのプリンタを指定したい。
その他(プログラミング・Web制作)
-
15
印刷ダイアログを表示させたくない
Visual Basic(VBA)
-
16
Application.Dialogs(xlDialogSaveAs)でキャンセルの取得
Access(アクセス)
-
17
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
18
マクロで印刷→セルの値から部数変更するには
Excel(エクセル)
-
19
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
20
印刷後メッセージボックスを表示したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ページ内にスクロールバーのあ...
-
PDFファイルを開かずに印刷...
-
phpについてですかね、印刷ボタ...
-
excelにて各シートの総印刷ペー...
-
VB.netで印刷
-
ページ内の画像印刷について
-
Accessレポートでの改ページ
-
EXCEL VBA 印刷プレビューダイ...
-
Excel VBA 「印刷中」メッセー...
-
印刷するときにテキストボック...
-
印刷ダイアログの印刷ボタンを...
-
ACCESS VBA レポートプレビュー...
-
サイト全体を縮小して印刷する...
-
コマンドプロンプトでフォルダ...
-
JavaScript もしくは、ASPでの印刷
-
WEBでのフォーム入力後の印刷
-
Excel VBAで文字列の可視長を得...
-
印刷時ヘッダーとフッターを挿入
-
印刷プレビュー表示後ユーザー...
-
EXCEL VBAでPDFファイルを開い...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PDFファイルを開かずに印刷...
-
EXCEL VBA 印刷プレビューダイ...
-
Excel VBAで文字列の可視長を得...
-
EXCEL VBAでPDFファイルを開い...
-
ページ内にスクロールバーのあ...
-
ACCESS VBA レポートプレビュー...
-
Excel VBA 「印刷中」メッセー...
-
コマンドプロンプトでフォルダ...
-
サイト全体を縮小して印刷する...
-
ACCESSで印刷プレビューをした...
-
C# 印刷可能領域と余白範囲...
-
ページ内の画像印刷について
-
ヘッダやフッタの印刷をしたくない
-
印刷時ヘッダーとフッターを挿入
-
excelにて各シートの総印刷ペー...
-
Accessレポートでの改ページ
-
phpについてですかね、印刷ボタ...
-
VBのDataGridView印刷
-
PageBreaks.Countと印刷範囲の...
-
VBAで Ctrl + Shift + F2が使え...
おすすめ情報