こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルVBAでPDFを1枚目のみ大量に印刷したい

エクセルVBAでPDFを大量に印刷したい
PDFファイルが6000件くらいあって Aというホルダーに1.pdf,2.pdf ・・・6000.pdfといった形で保存しております
エクセルのA列に必要な番号を入力し50~60件印刷します
A列には必要なファイル番号のみ入れていきます
2,3,6,100,210といった形でA列に必要なデータを入れて
VBAで起動させるとA1から順番にアクティブプリンターで印刷したいと
おもっています。
どのようなVBAにすればいいのかわかりません。
ループで繰り返しになる感じになると思います
N=N+1といった感じでA1セル.PDF
印刷
A2セル.PDF
          印刷
A3セル.PDF
          印刷
といった形でAに入る数字は毎回違ってきます
番号はあるけどファイルがない場合はその番号を
B1列から順番に摘出するようなものを考えてます
印刷については、全部1ページのみ印刷をします。1PDFで4ページあっても先頭の1ページのみ印刷です。
どなたかお忙しいとは思いますがご教示いただけませんか
よろしくお願いいたします

投稿日時 - 2016-10-09 20:10:38

QNo.9240498

すぐに回答ほしいです

質問者が選んだベストアンサー

いろいろ調べたのですが、「Acrobat Reader」では不可能のようです。

「OKWave」に「Acrobat Reader」でページ指定してプリントアウトする方法を掲載しておられる方がおられましたが、その方、参照されたサイトの注意事項を読んでおられず、「Acrobat Readerでは不可」となっているところを参照しておられました。

もし、質問者がお金を出して購入する「Acrobat」をお持ちでしたら、以下のマクロで1ページ目のみプリントします(私は「Adobe Acrobat Pro DC」を持っていますので、動作確認はしていて、問題なく、1ページ目のみ、プリントしました)。

したがって、もし、「Acrobat Reader」しかお持ちでない場合は、さしあたり、諦めるしかないようですが、私も、もう少し調べてみます(もしかしたら、フリーソフトを使って、できるかも知れませんので)。

とりあえず、マクロを載せておきます。

Option Explicit
Sub Test()
Dim i As Integer
Dim f, p As String
Dim x As Object
Dim y As Object
Dim z As Object
Dim b As Long
Set x = CreateObject("AcroExch.APP")
Set y = CreateObject("AcroExch.PDDoc")
Set z = CreateObject("AcroExch.AVDoc")
p = "D:\Programming\"
For i = 1 To Range("A1").End(xlDown).Row
f = p & Cells(i, 1).Value & ".pdf"
If Dir(f) <> "" Then
b = x.Show
b = z.Open(f, "")
Set y = z.GetPDDoc()
b = z.PrintPages(0, 0, 2, 0, 0)
b = z.Close(False)
b = x.Exit
Else
Cells(i, 2).Value = Cells(i, 1).Value
Cells(i, 1).Value = ""
End If
Next i
Set x = Nothing
Set y = Nothing
Set z = Nothing
End Sub

投稿日時 - 2016-10-09 22:31:36

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

回答No.1です。

提案です(私は試していませんので、あくまで自己責任で)。

「Adobe社」の「CS2」というバージョン(Photoshop、Illustrator、InDesign、Acrobatなど)は、現在、無償でダウンロードし、インストールできます。

今となっては、古いバージョンですが、これは、このバージョンのサーバを「Adobe社」が閉じてしまったため、ユーザ管理ができなくなり、結果として、誰でもインストールできてしまう、というのです。

しかも、「Adobe社」自身が行っているので、決して、不正なものではりません。

もちろん、すべて「自己責任」になります。

私の場合、「Photshop」を動かそうとすると、「コントロールパネル」→「言語」で「English」というキーボード(?)を選択しないと、起動もしません。

「Illustrator」は動いています。

「Acrobat」は、最新のバージョンを持っているので、インストールしたことがありません。

公開されているバージョンは「pro 7」になります。

ダウンロードサイトは、

https://helpx.adobe.com/jp/creative-suite/kb/cs2-product-downloads.html?promoid=FHRLZKR6&mv=other%20#

です。

詳しくは、

http://nj-clucker.com/install-illustrator-cs2-to-windows-10/

を参照してください。

もし、「Acrobat pro 7」がインストールでき、正常に動けば、私の「Acrobat」でのマクロが使えるかもしれません。

投稿日時 - 2016-10-11 09:46:28

ANo.2

回答No.1です。

いろいろ調べましたが、「PDF-XChange Viewer」というソフトなら確かにページ指定してプリントすることが出来たのですが、私の場合、白紙のページが出てきました。

他の方も、そもそも「印刷されない」、「なぜか罫線が印字される」など、何やらいろいろトラブっているみたいです。

このソフト、インストール時に「無料版」としてインストールするのですが、お金を出せば、「Pro」版を購入できます。

Pro版を購入した方の評価は見つからなかったので、買ったからと言って、必ず「できる」とも言えないので、私の調査はこれで終えたいと思います。

お役に立てず、申し訳ございません。

なお、「コマンドプロンプト」で、

「C:\Program Files\Tracker Software\PDF Viewer\」フォルダに「CD」(Change Directry)して、

「PDFXCview.exe /print:pages=1 D:\Programming\3.pdf」を実行

で、2ページある、「3.pdf」を出力しようとして、白紙の1ページが出てきました。

やはり、無料でページ指定して、「確実」に印刷を行う方法は、どうもないようです。

投稿日時 - 2016-10-10 09:21:11

お礼

こちらこそすみません
いろいろご尽力いただきまして感謝しかございません
本当にありがとうございました

投稿日時 - 2016-10-10 10:21:05

あなたにオススメの質問