• ベストアンサー

VBAでファイル一覧リストからPDFを自動印刷

現在エクセルのマクロを勉強中のものです。 ファイル一覧リストから特定のフォルダ内にあるPDFを探して印刷する作業をマクロで自動化できないか調べています。 参考になるサイトややり方など教えていただければ助かります。どうかよろしくお願いいたします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

あいまいな表現だ。 >ファイル一覧リストから これはどういう状態で、存在するのか? ワークシート(1つ?)の1列にデータ(フォルダ名か)があるのか? もしそうなら、 (1)A列のデータ全行を読む このコードぐらい知っている(わかる)よね (2)読んだそのフォルダ名(フルパスで)を指定して、そのフォルダ内の全ファイル名を捉えるのは、FSOを使う方法がおすすめ。For Each で1つずつ全てを捉えられる。 DIR関数を使う手もある。 (4)そのファイルの、ファイル拡張子が、PDFかどうかより分ける。 TSOには拡張子を捉えるコードもある。 (5)(4)のPDFファイルをExcelで開く (6)(5)のファイルをPDFで印刷する。   Googleで、「VBA ExcelファイルをPDF印刷」で照会。   https://tonari-it.com/excel-vba-pdf/   初心者でも簡単!エクセルVBAでPDFを出力する最もシンプルなプログラム ーー   そのほかに上記(6)照会で   VBA フォルダ内のPDFファイル印刷    https://learning-collection.com/vba %E3%80%80%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E5%86%85%E3%81%AEpdf%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%8D%B0%E5%88%B7/ という記事も出てくる。 ーー 全般にWEB照会も使わないで、ピログラムの勉強(自習)は無理だよ (1)-(5)までの課題についても、WEB照会すること。 ーーー エクセルでPDFファイルを読んで、上記印刷するのと、PDF専用ソフトで、それらのファイルを読んで、しにソフトの印刷機能を使って印刷するのと、 見てくれなどが、違うかもしれない。どこが違うのか解説する力は、小生にない。 こんな応用(周辺)問題に首を突っ込む前に、ExcelVBAの本を一度通読したら。

allmame
質問者

お礼

回答ありがとうございます。 また返事が遅れ申し訳ございません。 回答していただいた内容を参考にしながら今一度調べながらやっていこうと思います。

その他の回答 (1)

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.1

"vba pdfを印刷" でググったらすぐに出てきましたが. どんな調べ方をされたのでしょうか? https://www.sejuku.net/blog/99169

allmame
質問者

お礼

回答ありがとうございます。 また返事が遅れ申し訳ございません。 きちんと調べてから分からない時はきちんと質問をしたいと思います。

関連するQ&A

  • エクセルのマクロでPDFファイルを印刷

    フォルダの中にPDFファイルがあります。 そのファイルをマクロ上で印刷することは可能なのでしょうか? 自分で調べている限り、エクセルをPDF化の方法は見るのですが、印刷については、見当たりません。 もし、PDFファイルが印刷できないとしたら、マクロでエクセル以外のアプリケーションのファイルは印刷できないと考えたほうが良いのでしょうか? わかるかたいらしたら、よろしくお願いします。

  • エクセルにリスト化したPDF FILEを一括印刷

    あるFOLDER内にPDF化した図面が数百枚あり、それをエクセルに入力した特定のものだけ一括して印刷したいのですが、方法はありますでしょうか?例えば、エクセルに図面名を数十個入力し、何かクリックするとその該当のPDF FILEが印刷されるというイメージです。 よろしくお願いします。

  • 複数(大量)のPDFファイルを印刷したい

    図面、技術情報をPDF化したファイルがN個あります。 (hoge1.pdf、hoga2.pdf、hoge3.pdf、…、hogeN.pdf) その中で印刷したいPDFファイル、m個がリスト化されています。 (hoge1.pdf、hoge3.pdf、…、hogeM.pdf) 保有しているファイルの中からリストにあるファイルだけを紙に印刷したいのですが、ファイル数が多いので1つずつ選んでいては手間がかかるのと、印刷するファイルが漏れたりするので、できれば自動(バッチ)化したいと思います。 リスト中のPDFファイルは必ず保有しているもの、という前提で 印刷をバッチ化する方法が無いでしょうか? リストはエクセルのシート、またはCSVファイルで作成したいと思います。 よろしくお願いします。

  • PDFを自動印刷するソフトを探しています。

    PDFを自動印刷してくれるソフトをさがしています。 pdfファイルが、c:\infaxというフォルダーに自動的に ftpにて入ってきます。 それを自動印刷してくれるソフトを探しています。 できれば、印刷した後に、違うフォルダーc:\printfaxフォルダーに 移動してくれれば完璧ですが、そのような都合のいいソフトありますか?

  • vbaでPDFファイルが印刷されない

    エクセルのA列に「フォルダ場所+ファイル名.pdf」のリストを作成し、 PDFファイルを開き、印刷し、閉じるマクロを作成しましたが、全く印刷されません。 エラーが出て止まることなく、次々進んでいるのですが、肝心の印刷が実行されていません。 ネット検索で見つけたものをアレンジしたのですが、高度すぎて苦戦しています。 エクセルシートの内容は、 セルA2~には、フォルダ場所+ファイル名.pdf  例)C:\work\test1.pdf C2には印刷実行数(ファイルの数) を置いています。 どなたかご存知の方いらっしゃいましたら、どうか教えてください。 よろしくお願いいたします。 ---------------------------------------------------- Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub PDF() Dim AA, BB, CC, DD Dim AAA, BBB Dim i As Long For i = 1 To Range("C2").Value AA = "C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe /t " BB = Range("A" & i + 1).Value CC = Application.ActivePrinter DD = AA & """" & BB & """" & " " & """" & CC & """" Debug.Print DD Set AAA = CreateObject("WScript.Shell") Set BBB = AAA.exec(DD) Sleep 1000 On Error Resume Next BBB.Terminate Set BBB = Nothing Set AAA = Nothing Next i End Sub

  • Excelのブック全体を自動的にPDFにしたい

    Excelのブック全体を自動的にPDFに変換する方法を教えてください。 複数のシートを1つのPDFに変換しようとしています。Excelからでしたら、印刷時にPDFのドライバーを選択して「ブック全体」を印刷対象にすればよいのですが、これをExcelを使わずに行う方法を探しています。 条件としては以下の通りです。 ・特定のフォルダに、Excelのファイルをコピーする。 ・フォルダを監視して、Excelのファイルがあったらブック全体をPDFに変換する。 ・複数シートは1つのPDFにしたい。 ・PDFは別フォルダに出力する。 ・監視フォルダを作成するパソコンには、ExcelやPDF変換ソフトなどは導入可能。 監視は、監視ソフトやDistillerを使用すればできますし、別フォルダへの出力もそれらのソフトで可能です。ですが、「Excelを使わずに、ブック全体を自動でPDFに変換する」ソフトまたは方法がわかりません。 市販品にPDF変換サーバーソフトはありますが、数十万もします。できるだけ安価な方法をご教授願います。

  • vbaを使ってエクセルリストからPDFを印刷する

    エクセルシートA列に"ファイル場所+ファイル名.pdf"を合体させたリストを作成しました。 リストの上から順にPDFファイルを開き印刷するコードを作成しました。 印刷はされますが、リストの順番に印刷されず、ものすごくランダムに印刷されてしまいます。 このエラーについて、 「次々に実行させるから、ファイルの容量順に印刷されてしまうのでは? PDFを開いて、一旦閉じるコードを入れればよいのでは?」 というアドバイスをもらいましたが、どう対応したらよいか分かりません。 他に考えられる原因があるかもしれません。 教えて下さい。よろしくお願いします Dim i As Long 'セルC2に繰り返し数(ファイルの数)が入力されています For i = 1 To Range("C2").Value 'セルB**に印刷フラグを立て、「空欄」なら印刷、「1」なら印刷しないとしています '印刷フラグ「空欄」は印刷実行 If Cells(i + 1, 2).Value = "" Then PrinterName = Application.ActivePrinter fileName = Range("A" & i + 1).Value Set myShell = CreateObject("WScript.Shell") myShell.Run ("AcroRd32.exe /t " & fileName) '印刷フラグ「1」は印刷しない ElseIf Cells(i + 1, 2).Value = "1" Then End If Next i End Sub

  • 1つのPDFファイルを違う名前で大量保存

    1つのPDFファイルをエクセルのリストに基づき 管理NOをつけて名前をつけて保存をしたいのですが エクセルのマクロでできますでしょうか。 A.pdf→管理Noつきの11111_A.pdf、22222_A.pdfのように複数作成 PDFのファイル名に関しては エクセルのA列に下記のように記載 A列 ファイル名(1行目は見出し行) 11111_A.pdf 22222_A.pdf ↓ リストは250行ほどあり、1つのA.pdfを指定したフォルダに別名で250個保存したい。 マクロは超初心者で、指定したPDFファイルを開くことはできたのですが エクセルのリストに基づいてPDFファイルの保存ができませんでした。 どなたか教えていただけると嬉しいです。

  • 動画の一覧をPDFファイルで見れるようにしたい

    あるフォルダに動画(AVI形式、QuickTime形式等)を 入れておいて、そのフォルダの中にある動画の一覧を PDFファイルで見れるようにしたいのですが、どうすれば 良いでしょうか? 動画の一覧は、最初の1コマ目をずらっと並べる感じ で、PDFファイルで見れれば良いのですが・・・。

  • PDFファイル毎にパスワード付きZIP化するマクロ

    現状手作業でやっていることを自動化できないかと思い、相談します。 複数のPDFファイルにそれぞれ異なるパスワードを付けてZIPファイルに圧縮したいのですが、これをExcelマクロで処理することは可能なのでしょうか。 状況としては、「C:\work\files」というフォルダに複数のPDFファイルが保存されています。同フォルダ内にはファイルが一覧化されたExcelブックがあり、「一覧」という名前のシートのA列にそれぞれのファイルのフルパス、B列にファイル名、C列に付与したいパスワードが入力されています。 この一覧に載っているPDFファイルを、それぞれC列のパスワードを付けてZIPファイルにしたいです。可能であればコードをご教示いただければ幸いです。 【環境】 ・OS:Windows10(64bit) ・Excelバージョン:2016 ・圧縮ソフト:7-Zip

専門家に質問してみよう