いつもお世話になります
今、皆様の投稿プログラムを使わせてもらい
アクティブブックの全シートをPDFにエクスポートしてから印刷してみました
その際、エクスポート時は OpenAfterPublish:=False によりPDFファイルの画面出力は
抑えられたのですが次の印刷後、起動されたAcrobatReaderDCの起動画面が残ってしまいます
そこで最後のステートメントを皆様の投稿サイトをいろいろ調べたのですが
よく分かりません
もし、起動されたAcrobatReaderDCの起動画面を終わらせるステートメントが
分かりましたら教えてください
Sub Macro5()
’...ファイル出力
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Temp\sample1.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
'...印刷
Set w = CreateObject("WScript.Shell")
a = "c:\temp\sample1.pdf"
For i = 0 To 0
w.Run ("AcroRd32.exe /t " & Chr(34) & a & Chr(34))
Next
Set w = Nothing
End Sub
以上、よろしくお願い申し上げます
No.1ベストアンサー
- 回答日時:
こんにちは。
急いで考えてみました。実験的なコードですが、
Set w = Nothing
<--ここに入れてみました。※
End Sub
---------------
'モジュールの最上部へ
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
Private Const WM_SYSCOMMAND As Long = &H112
Private Const SC_CLOSE As Long = &HF060&
---------------
'※コードの中途から
Dim hWnd As Long
Dim ret As Long
Dim cnt As Long
Do
hWnd = FindWindow("AcrobatSDIWindow", vbNullString)
DoEvents
cnt = cnt + 1
If cnt > 5000 Then
MsgBox "失敗しました。", vbCritical
Exit Sub
End If
Loop While hWnd = 0&
'' Debug.Print hWnd '検査用 不要です
Application.Wait Now + TimeSerial(0, 0, 5)
ret = SendMessage(hWnd, WM_SYSCOMMAND, SC_CLOSE, 0)
--------------------
もう少し、丹念に調べれば、コードは短くなるはずですが、Acrobat から印刷をかけた瞬間に、コマンドは利かなくなるようなので、以下のようなコードを入れました。5秒が最適なのかは分かりません。もっと短くしてもよいかもしれません。
Application.Wait Now + TimeSerial(0, 0, 5)
また、MsgBox は、あくまでも、試験用のために入れていますので、直接、Exit Sub で構いません。
他にも、winmgmts から、Process.Terminate で終わらせる方法もありますが、SendMessageのほうがメジャーだと思いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル2019でPDFファイル名に枝番号をつけたい。 アクティブワークシートを印刷した後の処理とし 4 2023/06/06 21:00
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Excel(エクセル) このコードに追記事項の仕方を教えて下さい。 以下のコード内容に出てくる。セルH3が空白の場合、エラー 4 2023/08/03 00:22
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Visual Basic(VBA) ワイルドカード「*」を使うとうまくいかないマクロの添削をお願いします 3 2022/03/26 09:39
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- プリンタ・スキャナー プリンター途中までしか印刷しない 8 2022/12/30 17:25
- Visual Basic(VBA) コマンドプロンプトでフォルダ内(デスクトップ)の複数PDFファイルの1ページ目だけを印刷したい 1 2022/09/11 23:33
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ExcelVBAでPDFを閉じるソース
その他(Microsoft Office)
-
PDFファイルを開き、印刷し、閉じるマクロ
Visual Basic(VBA)
-
Adobe Reader を閉じる
その他(Microsoft Office)
-
-
4
PDFファイルを開かずに印刷したい
Visual Basic(VBA)
-
5
PDFファイルを印刷後、自動でファイルが閉じる方法を教えてください。
その他(ソフトウェア)
-
6
VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません
Visual Basic(VBA)
-
7
EXCEL VBAでPDFファイルを開いて印刷
Visual Basic(VBA)
-
8
VBAでホルダー内のPDFを一括印刷したい
Excel(エクセル)
-
9
vbaでPDFファイルが印刷されない
Visual Basic(VBA)
-
10
ExcelVBAにてアプリをタスクマネージャーから強制終了させたいのですが
Visual Basic(VBA)
-
11
vbaから他のアプリを終了
Visual Basic(VBA)
-
12
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
13
vbaでpdfを開いて1ページ目のみ印刷する。
PDF
-
14
【EXCEL-VBA】PDFファイルを開いて印刷したい
Excel(エクセル)
-
15
フォルダ内にあるPDFファイルを一括で印刷する方法※右クリック→印刷はNG
PDF
-
16
他のアプリケーションの終了処理
Visual Basic(VBA)
-
17
印刷要求順番と印刷出力順番が違う。
Visual Basic(VBA)
-
18
Excel VBAでPDFファイルをMicrosoft Print to PDFで出力したい
Visual Basic(VBA)
-
19
VBscriptでPDFファイルを直接印刷できるようにするためには?
Microsoft ASP
-
20
エクセルでエラーが出て困っています。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
至急です。kubuntu24.04ltsをUS...
-
BIOSは起動するが、OSが起動しない
-
画面が真っ黒のままです
-
パソコン BIOS画面から進まない
-
biosのboot menuで選択できませ...
-
intel boot agent の役割、使...
-
VBA PDFファイル印刷後のAcroba...
-
起動時にEscを押さないと起動不...
-
イラストレーターを立ち上げる...
-
デフラグ中にブルースクリーンに
-
Macを起動した時にハードディス...
-
リカバリしたらfujitsuロゴがう...
-
Macで起動ディスクを変更するに...
-
HDDを別のノートPCに入れ替えて...
-
Windows7です。起動途中で止ま...
-
C:\\>PATH=C:\\JUST\\JSLIB32 ...
-
起動時のメーカーロゴの削除方...
-
knoppixを使ったサルベージにつ...
-
電源は入るが止まってしまう
-
Windows2000が一向に立ち上がら...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面が真っ黒のままです
-
PCを起動すると「American Mega...
-
HDDを別のノートPCに入れ替えて...
-
VBA PDFファイル印刷後のAcroba...
-
dynabook R654 CD-ROMから起動...
-
ウイルスバスター for au を起...
-
パソコン画面のコピー
-
ZorinOS 16 Coreで、インストー...
-
イラストレーターを立ち上げる...
-
常に最大化で表示されるように...
-
Windows98の起動不可能時の修復...
-
windws10 起動しないのでセーフ...
-
★PCの初期化の方法がわかりま...
-
パソコン BIOS画面から進まない
-
Windows 98 起動ディスク イメ...
-
msdownld.tmpファイルを削除し...
-
PXE-E61: Media test failure, ...
-
DOSモードで起動する方法を教え...
-
立ち上げたとたんに「コンピュ...
-
PCのメーカーロゴが出るのが遅...
おすすめ情報