
No.4ベストアンサー
- 回答日時:
こんにちは。
興味があったんで追試してみました。下記の順に並べ変えると動きます。
For i = 1 To 5
Range("D4") = i * 100
SendKeys "%c"
ActiveSheet.PrintPreview
Next
恐らく、プリントプレビューはモーダルで、ActiveSheet.PrintPreview を発行後は、プリントプレビューを閉じるまで、マクロが停止すると思われます。
↑で動くのは、キーを先送りし、開いたと同時に閉じるので、マクロが止らずに進んでいるだけで、動作としては不安定(端末によってはうまくいかない。)です。
実際↑を走らすと、アクティブセルに不明な空白が入力され、入力待ち状態でマクロが終了します。
なにかしらの事情があってのご質問とは思いますが、やはりプリントプレビューはユーザに閉じて頂くのが本筋ではないでしょうか。
ありがとうございました。キーを先送りすることで何とかクリアできました。
事情は、No3さんへのコメントに記載しました。
> プリントプレビューはモーダルで、> ActiveSheet.PrintPreview を発行後は、プリントプレビューを閉じるまで、マクロが停止すると思われます。
では、先ほど(No1)のマクロで一度閉じるを押すと、あと4回は押さなくとも自動で閉じたのはなぜなんでしょう?
No.5
- 回答日時:
No.1のものです。
何か回答増えてますが、
駄目でしたら、
SendKeys "%c" の下に
SendKeys "{ENTER}"
を下に書くとかは如何でしょう。
今テストできないので何ともいえませんが、
過去に似たようなものを作ったので
出来る様な気がするのですが・・・。
そうでなければごめんなさい。
興味がありますので頑張ってみてください。
一応自信なしに変えておきます^^;。
No.3
- 回答日時:
>「印刷」ボタンを押さなくとも閉じるにはどう書けばいいのでしょうか?
やろうとしていることが、VBAでは、無理と思いますよ。
「閉じる」という意思を何をもってExcelに伝えるのですか?
プレビュー画面は、モーダルで開かれて、「閉じる」ボタンまたは、そのショートカットキー
で、フレビューを閉じない限り、VBAコードは、実行出来ないと思います。
ですから、PrintPreview の下に SendKeys を記述しても、手動で閉じてから実行される
と思います。
何のためにそのようなことが、必要なのでしょうか? 必要ないと思うが・・・
この回答への補足
> 何のためにそのようなことが、必要なのでしょうか? 必要ないと思うが・・・
ええ、通常は必要ないですよね。
今回は、本来はプリントプレビューじゃなく印刷させるマクロなんです。
でもかなり分量があるのでテスト版は印刷じゃなくてプレビューで渡して、スライドショーのように画面の動きを見てもらい、OKがでれば「印刷」にかえるつもりでした。
No.1
- 回答日時:
印刷設定関連のマクロはちょっと頭が悪いと思うのですが、
ボタンを操作する処理を書きます。
「閉じる」なら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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース OpenOffice Calc basic で印刷プレビューを表示する方法 1 2023/04/15 12:43
- Excel(エクセル) 【Excel】エクセルの1シートが2枚に分割されてしまうので印刷プレビューを押して閉 4 2022/12/13 13:12
- プリンタ・スキャナー WPS Writerで文章を作り、下側にノンブルを設定したのですが印刷されません。 1 2022/08/04 18:57
- Excel(エクセル) エクセルシートのPDFでの保存 2 2022/09/06 13:05
- Excel(エクセル) Excelであるシートだけ印刷できない 1 2022/04/01 09:04
- プリンタ・スキャナー 印刷ができない 6 2022/04/01 20:47
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Google Drive Google keepからGoogleドキュメントにコピーしたものをa4用紙1枚いっぱい(標準余白あ 2 2022/10/21 13:52
- Excel(エクセル) エクセル2013「次のページ数に合わせて印刷」が小さすぎる 9 2023/03/28 10:18
- Illustrator(イラストレーター) 印刷プレビューに画像が表示されない 3 2022/09/06 14:34
このQ&Aを見た人はこんなQ&Aも見ています
-
EXCEL VBA 印刷プレビューダイアログのボタン操作を判定したい
Visual Basic(VBA)
-
エクセルのマクロ
Excel(エクセル)
-
Excel VBA の印刷後の判定
Excel(エクセル)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
印刷をキャンセル
Excel(エクセル)
-
7
印刷プレビュー表示後ユーザーフォームが閉じません。
Visual Basic(VBA)
-
8
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
9
印刷ダイアログを表示させない方法
Visual Basic(VBA)
-
10
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
11
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
12
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
13
マクロ実行後に別シートの残像が残り、オブジェクトが見えなくなる
Visual Basic(VBA)
-
14
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
15
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
16
イベントプロシージャ 印刷が終わったあと…
Visual Basic(VBA)
-
17
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
18
セルの文字を「印刷時だけ非表示」にしたいです。
Excel(エクセル)
-
19
VBAでセルを指定した画像のコピー&ペーストを繰り返したい
Excel(エクセル)
-
20
Enterキーでマクロを起動さす。
その他(ソフトウェア)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのグレーの部分を戻したい
-
EXCEL改ページプレビューのペー...
-
YMM4 で MOV ファイルが読み込...
-
Thunderbirdで印刷およびページ...
-
ページが増える
-
エクセルの縦の幅だけ拡大したい。
-
EXCELで1行の内容を1枚の紙に印...
-
エクセルのマクロで印刷プレビ...
-
【Excel】エクセルの1シートが...
-
ExcelVBA 改ページの横破線を消...
-
Excelで縦を拡大、横を縮小する...
-
Excel ~プリンターがない時で...
-
Excelの「改ページプレビュー」...
-
Excel 複数印刷範囲設定と、印...
-
エクセルでA4 2枚をA3 1枚で印...
-
Excelの改ページ印刷についての...
-
エクセルで点線を引き、印刷す...
-
エクセルのA3横一枚のデータをA...
-
エクセルで印刷範囲以外を灰色...
-
Excelで全ての行単位で改...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL改ページプレビューのペー...
-
Excelのグレーの部分を戻したい
-
エクセルの縦の幅だけ拡大したい。
-
YMM4 で MOV ファイルが読み込...
-
ページが増える
-
エクセルでA4 2枚をA3 1枚で印...
-
Excelの改ページ印刷についての...
-
エクセルで点線を引き、印刷す...
-
エクセルのマクロで印刷プレビ...
-
EXCELで1行の内容を1枚の紙に印...
-
Excelで特定の文字・記号のとこ...
-
エクセルのA3横一枚のデータをA...
-
エクセルで印刷、0.5が1になる。
-
ExcelVBA 改ページの横破線を消...
-
エクセルで、大きく灰色に書か...
-
改ページの2ページ目の作り方
-
Excelで縦を拡大、横を縮小する...
-
【Excel】エクセルの1シートが...
-
エクセル上に貼り付けた画像が...
-
Thunderbirdで印刷およびページ...
おすすめ情報