質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

Q&A

解決済

1回答

8779閲覧

VBAでpdfを印刷する際の動作について

ookura

総合スコア27

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

0グッド

0クリップ

投稿2021/10/13 07:59

編集2021/10/13 08:21

お世話になっております。

過去質問でお世話になったものです
前回のご回答を踏まえ、フォルダ内のpdfを一括印刷するような内容に組み替えてみたところ、
<1番目のループ>
pdf表示

印刷

次のファイル名を取得
<2番目のループ>
pdf表示

印刷ダイアログ表示

印刷

次のファイル名取得

と、2番目~が必ず印刷ダイアログが出るようになってしまいました。
この1番目のループ同様、ダイアログを出さずに自動で印刷をループする流れを作りたいのですが
どうすればよいのでしょうか

試してみたこと
・プリンタ変更
これは特に変化なしでした。
・ファイルの保存先フォルダ変更
これも変化なしです
・adobe自体の設定が難点?
特に怪しい設定も調べても出てきませんでした
・ステップインで印刷がしっかりされた後、時間差で2週目に突入してみました (追加確認1
同じく印刷ダイアログが出現しました

何度もすみませんが、ご教示いただけますと幸いです。

以上、よろしくお願いします。

環境:
win10
excel2019
acrobat reader dc

VBA

1Sub フォルダ内一括印刷() 2 3 'Shell実行用の変数設定 4 Dim wshShellObj As IWshRuntimeLibrary.WshShell 'Shellオブジェクト 5 Set wshShellObj = New IWshRuntimeLibrary.WshShell 6 Dim strShellCommand As String 'Shellコマンド 7 Const folderPath = printFilePath = "C:\Users\●●●\Desktop\testfolder\プリントテスト\” 'フォルダパス 8 Dim printFileName As String 'ファイル名 9 Dim printFilePath As String 'ファイルパス 10 Dim printerName As String 'プリンタ名 11 12 13 printerName ="""DocuCentre-V C3375""" 14 15 '対象フォルダのPDFファイルをDir関数で取得 16 printFileName = Dir(folderPath & "*.pdf") 17 18 '拡張子が「.pdf」のファイルがある限り、処理をループ 19 Do While printFileName <> "" 20 'PDFファイルパスを設定 21 printFilePath = folderPath & printFileName '印刷するPDFファイルパス 22 23 'Shellコマンドを設定 24 strShellCommand = "AcroRd32.exe /t " & printFilePath & " " & printerName 25 26 'Shellコマンドを実行 27 wshShellObj.Run (strShellCommand) 28 29 '次のPDFファイル名を取得 30 printFileName = Dir() 31 Loop 32 33 'オブジェクトを強制開放 34 Set wshShellObj = Nothing 35 36End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。

adobe Readerの[編集]→[環境設定]→ [セキュリティ(拡張)]の
"起動時に保護モードを有効にする"のチェックが外れている(保護モードがOFF)の
時にそのような現象が出るようです。
(一部バージョンでは保護モードONでも同様の現象が出る場合があるようです)

adobe reader側保護モードの設定を有効に出来るのでしたら、それで改善しないでしょうか?

事情があって保護モードの設定を変更できない、あるいは(特定のバージョンにあたって)
保護モードがONなのに同様の事象が出るならば、adobe Readerの起動1発目は回避できるので

strShellCommand = "AcroRd32.exe /t " のところを
strShellCommand = "AcroRd32.exe /n /t " と/nオプションを追加することで回避
出来ないでしょうか?

投稿2021/10/13 10:03

beadv

総合スコア144

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ookura

2021/10/14 01:35

保護モードのチェックで解決しました。 おかげ様でスピード解決でした、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問