許せない心理テスト

マクロを利用して、印刷プレビュー画面を閉じるには、どうしたらいいでしょうか?

A 回答 (5件)

回答としては、既に出てますがマクロでは無理です。

どうしてもコードで
閉じたいなら、別プロセスから閉じるしかありません。

んー、Excel ではない外部プログラムを用意して閉じる、ということです。

Windows でグラフィカルなインターフェース(GUI) をもつアプリケーション
は、ほぼイベントドリブン(※)方式を採用してます。

  【イベントドリブン】IT用語辞典e-Word 引用
  ユーザや他のプログラムが実行した操作(イベント)に対応して処理を
  行なう、プログラムの実行形式。
  ユーザが操作を行っていないときはプログラムは何もせず待機して
  いるため、ユーザはそのプログラムを待たせた状態で他の操作を行なう
  ことができる。

Excel もイベントドリブン方式です。この方式により、マルチタスクな
操作が可能になっています。

したがって、手動であれ、マクロで印刷プレビューを開いた場合であれ、
Excel は、ユーザーから何らかのアクション(閉じるボタンクリックなど)
を受け付けるまで待機状態にあります。当然、Excel が実行するマクロも
待機状態にあるということです。

試しに、次のコードを実行してみて下さい。

Sub Sample()

  Application.OnTime Now() + TimeSerial(0, 0, 5), "TEST"
  ActiveSheet.PrintPreview

End Sub

Sub TEST()

  MsgBox "Call"

End Sub

プロシージャSample を実行すると、5秒後にプロシージャ TEST を実行する
ように予約を入れてから、プレビューウインドウを表示させてます。

結果としては、ユーザーがプレビューウインドウを閉じるまで、何秒経過
したとしても TEST の実行も待機されてます。
    • good
    • 0

#1さんの回答にもありますように無理です。



なぜマクロでプレビューを閉じたいと思われたのでしょうか。
プレビュー画面には、閉じるボタンもありますし、
キーボードからも閉じられるようになっていますよね。

そもそもどういった場合を想定していらっしゃるのか興味がありますので
後学のためにお聞かせ願えればと思います。

 
    • good
    • 0
この回答へのお礼

回答、ありがとうございます!実は、エクセルを使って、定型の用紙に印刷出来るようなbookを作ったのですが、印刷プレビューでは枠線を確認したいのですが、印刷時には枠線が必要ないので、簡易印刷の設定をしたかったのです。使う人が、詳しい人ばかりでないので、取り敢えず、マクロを使用して簡単に作業が出来るようにしたかったのです。

お礼日時:2006/06/09 12:45

No2です。


今、ためして見ました。(エクセル2000)

Sub preview_test()
For i = 1 To 5
Range("E4") = i * 100
SendKeys "%c"
ActiveSheet.PrintPreview
Next
End Sub

これで作動しました。
    • good
    • 0
この回答へのお礼

ありがとうございます。何とか、使えそうです!

お礼日時:2006/06/09 12:47

SendKeys "%C"



ではどうでしょうか?
    • good
    • 0

印刷プレビューを表示している間はマクロの処理が中断するから、ムリなのでは?



何をトリガに閉じるんですか?
もしキー入力なら、Cキーとか、Escキーとかじゃダメなのかな?
    • good
    • 0
この回答へのお礼

回答、ありがとうございます!実は、エクセルを使って、定型の用紙に印刷出来るようなbookを作ったのですが、印刷プレビューでは枠線を確認したいのですが、印刷時には枠線が必要ないので、簡易印刷の設定をしたかったのです。使う人が、詳しい人ばかりでないので、取り敢えず、マクロを使用して簡単に作業が出来るようにしたかったのです。

お礼日時:2006/06/09 12:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報