[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『PrintPreview実行時、拡大表示だと閉じるが動作しない』(VBA初心者)
VBA初心者の為どうぞよろしくお願い致します。
シートの印刷画面を表示後、指定場所にファイルを保存するように動作させたいのですが、
印刷プレビュー画面を表示した時、拡大すると閉じるボタンが押せず
縮小だと閉じるボタンが押せます。
PCによっては、拡大・縮小どちらも問題なく閉じるボタンが押せます。
PCによって機能しないのは制限することができるのでしょうか。
ご教授どうぞよろしくお願い致します。
Dim SavePath As String
SavePath = "C:\test.pdf"
sheet1.PrintPreview EnableChanges:=False
If MsgBox("作成しますか?", vbQuestion + vbYesNo) = vbYes Then
Sheet1.ExportAsFixedFormat Type:=xlTypePDF, Filename:=SavePath, OpenAfterPublish:=True
Else
Sheet1.Visible = False End If
< 使用 Excel:Microsoft365、使用 OS:Windows10 >
2013で再現できず・・・ リボンが閉じているだけとかはないですよね? 閉じるボタンが押せないときは、マクロをどうやって止めてます? ESCキーだと思うのですが、それでプレビュー閉じられるから進めますよね また手動でも同じ状況ですか?
コーディングとしては、 1)プリントプレビューが必要ない仕組みに変えるのが一番の手だと思うのですけど、 プレビューは何を目的としてますか? 項目の入力漏れならチェックできるでしょうし 体裁がずれる内容であれば等幅フォントなどを活用してなるべく画面通り印刷されるように 調整したりするなど対策されてはいかがでしょうか?
2)閉じるを押さなくてもESCを押して進めることを周知する 事前にmsgboxで表示する Sheet1にデカデカとESCキーで閉じるよう促し、出力する前に消す
失敗例 UserFormのModelessで表示しっぱなしにして、UserForm上に閉じるコマンドを仕込んでおく →PrintPreviewがModalで開いているので、Userformのボタンが押せなかった
ApplicationOntimeで指定秒後にESCキー送る →同じく、Modalで開いていたので、実行できなかった
PDFを出力した後、PDFを非同期で開いて、そのあとPDFを削除するかどうか決める →出力に時間がかかるので採用しにくい・・・
(稲葉) 2023/02/01(水) 19:25:15
印刷プレビュー画面は非表示設定しているシートを保存する前に確認用に利用しています。
非表示設定シートは閲覧できないようにしたいためマクロで実行させるようにしています。
印刷プレビューにて、書類を拡大していて閉じるボタンが押せない時は
画面の✖をクリックすることで次のステップが実行されます。
ただし拡大状態から縮小画面にすると閉じるボタンが押せますので、
そちらで回避している状態です。
そして大半は拡大でも問題なく閉じるボタンが押せます。
(VBA初心者) 2023/02/02(木) 12:11:06
また、説明からすると
sheet1.PrintPreview EnableChanges:=False
を実行する前に、一時的に
Sheet1.Visible = True
にしているということですか?
(というのは、私のExcel2019環境では、非表示シートに対して
PrintPreviewを実行しようとするとエラーになるので。)
もしそうなら、
Sheet1.Visible = True
Sheet1.Select '←追加
を実行してから印刷プレビューしても事態は変わりませんか?
ダメ元で。
(abc) 2023/02/02(木) 14:55:33
表示は特に淡くなることもなく動作しない状態です。
ただESCにて逃げることも可能なので、こちらにて対応しようかと思います。
ありがとうございました。
(VBA初心者) 2023/02/02(木) 18:31:28
それで解決する保証まったくありません。
ただ、プレビュー対象のシートがアクティブな状態ではなく、
プレビューを終えて戻る先のシートが不定のときに
フリーズなどの異常が起きることがある旨の記事があったので、
淡い期待を持って申し上げました。残念。
(abc) 2023/02/02(木) 18:49:23
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.