- ベストアンサー
エクセルのマクロで印刷プレビューを閉じる方法
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。興味があったんで追試してみました。 下記の順に並べ変えると動きます。 For i = 1 To 5 Range("D4") = i * 100 SendKeys "%c" ActiveSheet.PrintPreview Next 恐らく、プリントプレビューはモーダルで、ActiveSheet.PrintPreview を発行後は、プリントプレビューを閉じるまで、マクロが停止すると思われます。 ↑で動くのは、キーを先送りし、開いたと同時に閉じるので、マクロが止らずに進んでいるだけで、動作としては不安定(端末によってはうまくいかない。)です。 実際↑を走らすと、アクティブセルに不明な空白が入力され、入力待ち状態でマクロが終了します。 なにかしらの事情があってのご質問とは思いますが、やはりプリントプレビューはユーザに閉じて頂くのが本筋ではないでしょうか。
その他の回答 (5)
- komet163
- ベストアンサー率51% (22/43)
#4 です。 クリアできたとのこと。良かったですね。 >あと4回は押さなくとも自動で閉じたのはなぜなんでしょう? これは、手押しのキーが先送り1回目と同じ役割をし、 以降、ループ1回目の SendKeys "%C" はループ2回目の先送りキーとして、ループ2回目の・・・・ と順じ先送りキーと解釈されて動いたと思います。
お礼
なるほど、ありがとうございます。
- kaiu
- ベストアンサー率20% (65/315)
No.1のものです。 何か回答増えてますが、 駄目でしたら、 SendKeys "%c" の下に SendKeys "{ENTER}" を下に書くとかは如何でしょう。 今テストできないので何ともいえませんが、 過去に似たようなものを作ったので 出来る様な気がするのですが・・・。 そうでなければごめんなさい。 興味がありますので頑張ってみてください。 一応自信なしに変えておきます^^;。
お礼
ありがとうございます。
- ja7awu
- ベストアンサー率62% (292/464)
>「印刷」ボタンを押さなくとも閉じるにはどう書けばいいのでしょうか? やろうとしていることが、VBAでは、無理と思いますよ。 「閉じる」という意思を何をもってExcelに伝えるのですか? プレビュー画面は、モーダルで開かれて、「閉じる」ボタンまたは、そのショートカットキー で、フレビューを閉じない限り、VBAコードは、実行出来ないと思います。 ですから、PrintPreview の下に SendKeys を記述しても、手動で閉じてから実行される と思います。 何のためにそのようなことが、必要なのでしょうか? 必要ないと思うが・・・
補足
> 何のためにそのようなことが、必要なのでしょうか? 必要ないと思うが・・・ ええ、通常は必要ないですよね。 今回は、本来はプリントプレビューじゃなく印刷させるマクロなんです。 でもかなり分量があるのでテスト版は印刷じゃなくてプレビューで渡して、スライドショーのように画面の動きを見てもらい、OKがでれば「印刷」にかえるつもりでした。
- kaiu
- ベストアンサー率20% (65/315)
テストしてませんが、 SendKeys "%C", True でいかがでしょうか。
- kaiu
- ベストアンサー率20% (65/315)
印刷設定関連のマクロはちょっと頭が悪いと思うのですが、 ボタンを操作する処理を書きます。 「閉じる」ならCアンダーバーだと思いますが (閉じるボタンの横にあるショートカットキー) .SendKeys "%c" の様になります。%はAltという意味です。 Ctrl+ なら "^" を使用します。 ちなみにタブ移動は"^{TAB}"です。 どちらにしろSendKeysステートメントで書きます。
お礼
さっそくありがとうございます。 以下でテストしてみました。 Sub TEST01() For i = 1 To 5 Range("D4") = i * 100 ActiveSheet.PrintPreview SendKeys "%C" Next End Sub 最初の一回はやはり閉じるを押さないとプレビューが終了しないようです。 一度押すと2~最後までは自動でプレビューを閉じ先に進みます。 どこが悪いのでしょうか?
関連するQ&A
- マクロで呼び出したプレビュー画面から印刷できない
マクロで呼び出したプレビュー画面から印刷できない エクセル2010です。 下記のマクロで呼び出したプレビュー画面から印刷できません。 Sub test() ActiveSheet.PrintPreview End Sub で呼び出したプレビュー画面から、印刷するために一番左上の「印刷」をクリックすると 実行時エラー1004 WorksheetクラスのPrintPreviewメソッドが失敗しました。 となってしまいます。 何がわるいのでしょうか?別のパソコンのエクセル2016では問題なく印刷できます。 頭をかかえています。
- ベストアンサー
- Excel(エクセル)
- エクセル2010での印刷プレビュー
エクセル2010での印刷プレビューを確認する場合に、画面の左側には印刷設定が表示され右側には印刷プレビューの表示ボタンが表示されます。 私としては印刷プレビューが見たいので印刷プレビューの表示ボタンを押さなくても最初からプレビューを見られるように設定したいと思います。 可能なら教えて頂きたいのですが。
- ベストアンサー
- その他MS Office製品
- 複数ブックの印刷プレビューの方法を教えてください。
VB6.0にてエクセルのブックを2つ作成し、 最後にそのBook1とBook2を同時に印刷プレビューで表示させたいのですが Book1.Worksheets.PrintPreview Book2.Worksheets.PrintPreview にするとBook1の印刷プレビューを閉じないと Book2の印刷プレビューが表示されません。 Book1とBook2を同時にプレビュー表示させる方法を どなたかご存知でしたら教えてください。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- ブラウザ上でEXCELの印刷プレビューをする方法は?
通常、エクセルで「印刷プレビュー」をする場合、ツールバーの「印刷プレビュー」を選択するか、VBAマクロで"ActiveSheet.PrintPreview"を組み込んでも行うことができますが、ブラウザ上で開いたエクセルの印刷プレビューを行う方法を教えて下さい。
- ベストアンサー
- オフィス系ソフト
- VBAで印刷プレビューを閉じる時に別シートに移動したい
エクセルで、 (1)入力画面(シート1) (2)印刷用画面1(シート2) (3)印刷用画面2(シート3) と1つの入力シートから2つのシートへ値をリンクさせ 表示しているものを作りました。 入力画面に「印刷ボタン1」「印刷ボタン2」を作成し、 「印刷ボタン1」を押すと、(2)印刷用画面1の印刷プレビューを表示するように ボタン押下のイベントに Sheets(シート2).Select ActiveWindow.SelectedSheets.PrintPreview と記述して、印刷プレビューを表示するようにしました。 その後、印刷プレビュー画面にて「閉じる」を押したり、ESCを押すと、 シート2が表示されます。 これをシート1の入力画面に移動させたいんです。 印刷プレビューを閉じた後に入力画面に戻りたいのですが、 どうしたらよいのか分かりません。 「印刷プレビューが閉じた」というイベントを取得する方法が あるのかも調べきれず、どうしたらいいのか困っています。 解決する方法がありましたら教えて下さい。
- 締切済み
- オフィス系ソフト
- エクセル2007「マクロ 印刷」について
質問の仕方がおかしかったらスイマセン 前任者が作ったエクセルで ボタンを押せば印刷するもの(明細等) がプレビューで上がってきます。このとき明細が300件あったら 300件分上がってくるのですが、たとえば全件数に共通する 日付等の間違いがあった場合300件分プレビューを閉じていかな ければならず大変です。 今はこんな風になっています Sheets("明細").PrintPreview プレビュー画面は必要なので例えば1件目のみだけプレビューが 上がってきて確認できるようにはできないのでしょうか? 前任の方に来ていただいて(退職し他企業に就職済み)作って もらうわけにはいかず、詳しくないものばかりが頭を抱えています。 間違わずにボタンを押せば済む話なのですが・・・。上記のような 事が可能なら教えて下さい。
- ベストアンサー
- その他([技術者向] コンピューター)
- Excelの印刷時にプレビューが出る現象が!
エクセルのシートを印刷しようと思い画面上のプリンタのボタンを クリックしたところ、印刷プレビューが表示されてしまいます。 先日までは印刷ボタンを押せばプレビューは表示されず印刷物が出てきたのですが、 (オフィスではない)ソフトをインストールしてからこのような現象がおきるようになりました。 原因は何なのでしょうか?やはりソフトのインストール? 今まで通りプレビューを表示させずに印刷する方法はあるのでしょうか? プレビュー画面から印刷することはできるのですが、 出す必要のないプレビューが毎回出てきて、大変気になります。。。
- ベストアンサー
- オフィス系ソフト
- Excelで任意の範囲の印刷プレビュー
こんにちは。 Excelで、印刷プレビューのボタンを押すと、 印刷プレビューは一番最初のページを表示します。 これを、印刷プレビューボタンを押したときに、 アクティブせるのあるページを表示させたいのですが、 なにか方法はありますでしょうか? 印刷プレビュー画面で、 何回も「次ページ」ボタンを押すのがとても面倒なのです・・・(汗) 何かいい方法、楽な方法がありましたら教えてください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 印刷プレビュー エクセル2010
エクセルの2010を使うようになりました。 印刷プレビューに関して教えてください。印刷のボタンを押せば、横に印刷の画面が出てくるのですが、それが印刷プレビューなのでしょうか? また、拡大して、一部を見ることができるのでしょうか?2003では、虫眼鏡のようなもので拡大して出来たと思うのですが。。。御教示下さい。
- ベストアンサー
- その他MS Office製品
- マクロで印刷ができません
簡単な表を作成し、デザインモードでフォームコントロールでボタンを作成し、マクロの作成をしました。 印刷するためにボタンをクリックしても 印刷プレビューで画面が止まってしまいます。 ところがプレビュー画面を閉じると印刷が始まります。 何度やりかえてもマクロで最後まで印刷ができません。 記述は次のようになっています。 プリントも記述されているようなのですが・・・・ エクセル2007を使っています。 どなたか助けてください Sub ボタン3_Click() ' ' ボタン3_Click Macro ' ' ActiveSheet.Shapes("Button 3").Select Selection.Characters.Text = "ボタン 3" Range("B3:E12").Select ActiveSheet.PageSetup.PrintArea = "$B$3:$E$12" ActiveWindow.SelectedSheets.PrintPreview ActiveWindow.SelectedSheets.PrintOut Copies:=1 End Sub
- ベストアンサー
- Windows Vista
お礼
ありがとうございました。キーを先送りすることで何とかクリアできました。 事情は、No3さんへのコメントに記載しました。 > プリントプレビューはモーダルで、> ActiveSheet.PrintPreview を発行後は、プリントプレビューを閉じるまで、マクロが停止すると思われます。 では、先ほど(No1)のマクロで一度閉じるを押すと、あと4回は押さなくとも自動で閉じたのはなぜなんでしょう?