ここから本文です

VBAでPDFファイルを開いて、印刷して、閉じたい。 PDFファイルは3ファイルあり、...

kjd********さん

2016/12/1723:18:18

VBAでPDFファイルを開いて、印刷して、閉じたい。
PDFファイルは3ファイルあり、1・2ファイルはA3横で印刷を、3つめのファイルはA4縦で印刷したいです。
3ファイル名前は固定されています。

(sample01.pdf,sample02.pdf,sample03.pdf)
PDFファイルは、Shell ("explorer.exe " & ファイル名)で開くことはわかりました。PDFファイルの印刷設定、印刷、PDFファイルを閉じるところがわかりません。
毎日の手作業で効率が悪く困っております。ご教示よろしくお願いいたします。

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
2,947
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

lin********さん

2016/12/1808:49:42

きのう、「VBScript」の方で回答した者です。

今、試しましたが、そっくりそのままで動くことを確認しました。

Sub Test()
Set w = CreateObject("WScript.Shell")
a = Array("sample1.pdf", "sample2.pdf", "sample3.pdf")
For i = 0 to 2
w.Run ("AcroRd32.exe /t " & Chr(34) & "C:\2016_1202_vbs\01\" & a(i) & Chr(34))
Next
Set w = Nothing
End Sub

一応、説明です。

Set w = CreateObject("WScript.Shell")

「コマンドプロンプト」(「VBScript」で当初、ご質問だったので、知っておられると思いますが)で行うようなことを実現するためにその機能を読み込んでいます。

a = Array("sample1.pdf", "sample2.pdf", "sample3.pdf")

配列変数「a」に「sample1.pdf、・・・」を格納。

「a(0) = sample1.pdf」、「a(1) = sample2.pdf」、・・・

For i = 0 to 2

その配列変数を使って

w.Run ("AcroRd32.exe /t " & Chr(34) & "C:\2016_1202_vbs\01\" & a(i) & Chr(34))

「AcrobatReader」を「WScript」の機能を使って、走らせています。

「/t」が印字するためのパラメータです。

Set w = Nothing

「WScript.Shell」を解放しています。

  • 質問者

    kjd********さん

    2016/12/1809:37:05

    連日、お世話になりありがとうございます。A3,A4の設定もこのコードで実現できているのでしょうか?本日休日のため、印刷確認できないものでおうかがいしました。

  • その他の返信(3件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2016/12/21 07:23:34

たびたびの回答、御礼申し上げます。昨日試したところ、A3で印刷できませんでした。ただ、A4での印刷はでき、要件はほぼ実現できました。ありがとうございました。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる