• ベストアンサー

【Excel2007】印刷プレビューかどうかを判断したい

Excel2007を使用しています。 マクロで印刷プレビューかどうかを判断したいのですが、 どのようにプログラムしたら良いでしょうか? Wordであれば、以下のようにプログラムすれば判断できると思います。 If Application.PrintPreview = False Then Call MsgBox("印刷プレビューでありません。") End If 同じことをExcelでやりたいのですが もし方法をご存知でしたら教えてください。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.2

一応... Sub PreviewCheck()  If PrintPreview = False Then   MsgBox ("印刷プレビューでありません。")  End If End Sub 私のエクセルではエラーは出ませんでした バージョン違いのせいかもしれませんね(当方:EXCEL2000) PrintPreviewをウォッチリストで見ると Watch : : PrintPreview : Empty 値 : Variant/Empty : Module1.PreviewCheck と表示されます

rock123
質問者

お礼

Option Explicitは付けられましたか? 私にはPrintPreviewはプロパティではなく、 変数として扱われているように思えました。 ただそもそも印刷プレビュー中には マクロが動作しませんので、チェックする必要がなさそうですね。 ありがとうございました。

その他の回答 (1)

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

If PrintPreview = False Then  MsgBox("印刷プレビューでありません。") End If で、エラーは出ないようですが、プレビュー状態ではマクロが停止するので...どうなんでしょう?

rock123
質問者

お礼

ご回答ありがとうございます。 試してみました。 Option Explicit Sub PreviewCheck() If PrintPreview = False Then MsgBox ("印刷プレビューでありません。") End If End Sub すると「PrintPreview」に対して 「変数が定義されていません。」と表示されてしまいます。 PrintPreviewというプロパティはないように思われます。 Option Explicitを付けていないからだと思うのですが、 プログラムからはVariant型と判断されて、 一見正しい動作をしているように思います。 ただプレビュー中はマクロが動作しないのは、その通りですね。 そうなるとそもそもチェック不要なのかもしれませんね。

関連するQ&A