• ベストアンサー

VBAによるPDF印刷について

1つのファイル内に、A0からA4サイズまでのどれかの図面ファイルがマルチページで数ページ入っています(サイズ並びはランダム)。印刷時に各サイズ毎でまとめて印刷したいのですが(どのページにどのサイズかは判っています)、その設定方法がわかれば教えていただきたく質問しました(最終的には自動化を目指しています)。よろしくお願いします。 例えば「1、2、3、7、9、11、12、14」ページを1度に印刷する場合、Acrobatで印刷ダイアログを表示した際に「印刷範囲」として「1-3,7,9,11-12,14」と記載できます。通常(PDF以外)の印刷設定では開始と終了ページ、部数の設定方法は確認出来ていますが、Acrobatでの印刷ダイアログへの設定方法がわかりません。 ① そもそもPDFファイルがオープンしていれば印刷ダイアログはAcrobatのものが表示されるのか?。 ② 表示されないのであればどうすれば表示できるのか?。 ③ 表示された場合での各項目の設定方法は?。 ④ ①〜③が出来ない場合、別に方法はあるのか?。 色々とネットを検索しているのですが“これ”と思ったものが見つからずで…。検索の方法が悪いのかもしれませんが…。ここのサイトがわかりやすいとか、この参考書が良いとかの情報もあれば教えていただけると助かります。 サイズとページの取得については、他者が作成したエクセルVBAを利用しています(処理コメント説明が一切無いので解析に苦労しながら改造している状態です)。VBA以外も考えたのですが、とりあえずはVBAがらみで今四苦八苦しています。PDFを扱わない処理は経験しているのですが…。出来なければ開始と終了ページで回数を回すしかないのかと。なお、Acrobat有償版は入っています。

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

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

#1です。追加の感想(回答とは言えないと思うので)。 https://helpx.adobe.com/jp/acrobat/kb/222783.html Word から PDF ファイルを作成する際の推奨事項 (Windows 版 Acrobat 6.0/7.0) adobe社の作製 これなど読むと、ワード向けにワードで作成したPDFでない場合は、 完全には同じものにならない(出来ない?)ようです。 質問者がいま扱おうとしているPDFについて、この点があるのか、在ればどこなのか、調査・認識する必要があるのでは。 たまたま、先行の提供者が、Wotd・Excelで作ったPDFなら、心配は少ないでしょう。 そうすればWordVBAで処理できるか試してみればどうでしょう。 VBAでエクセルを開いている状態で考えるなら、そこから、WordVBAで呼び出す方法は数行でできる。 下記では、一応印刷した。 Word VBA Sub test01() Set d = Documents.Open("C:\Users\XXX\Documents\PDFファイル例1.pdf") d.PrintOut End Sub 読み込み・変換に時間が掛かるとかの問題は感じた。 その状態で、質問文の印刷に関しての条件の 「1つのファイル内に・・(最終的には自動化を目指しています)。よろしくお願いします。」のPageSetUpなどをどういうコードにすればよいか(果たしてVBAで出来るのか)考えるなり、どこかへ質問してはどうでしょう。

GENESIS
質問者

お礼

再度の回答に感謝します。 残念ながら(質問のハードルが高かったのか)期待通りの回答が得られずでした。このまま待っていてもこれ以上の回答が付きそうもありません。 直接的な解決には至りませんでしたが、色々と参考意見をいただきましたのでベストアンサーで締め切らせていただきます。ありがとうございました。

その他の回答 (1)

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

きょうは土曜日で、質問を見ている人は少ない日でしょうが、回答がまだ出てない。普通のVBAの質問では、常連の方がすぐ回答を入れます。 しかしまだ回答が出てない。 しばらく回答を待たれるのは当然として、下記を参考に。 余り役立たないと思いますが、 最低、後述のhttps://www.sejuku.net/blog/99169でも見て考えてはどうですか。 ーー 私など口を出す知識はありませんですが、PDFには関心はあり、OKWAVEの質問を読んできましたが、PDFファイルの印刷に関しては、あまり記憶にないです。 というのも、PDFに関しては、VBAとの関連がややこしい。 PDFはADOBE社のソフトに使われたファイル形式で、MS社などと特許関連の問題があって、MS社も自由に使うことは出来ない時代があったように思う。その後どうなったか小生は不勉強だが、最近はMSのオフィスソフトでも、使える場面が増えているようだ。 http://h-teraoka.com/pdf/ Adobe社のPDF製品ビジネスのしくみ ーー だから1990年台からはじまったMSOfficeのVBAには他社製品であるPDFの関連のメソッド・プロパティは設け(追加)されていないと思う。 どちらかと言うと、エクセルVBAより、(文書の印刷という面で)WordVBAの方が関連が近いかもと思う。 印刷するだけなら、VBAで割合簡単でも、PageSetup関連に関しては VBAで思い通りのなるかどうか。 ーー https://www.sejuku.net/blog/99169 VBAでPDFファイルを印刷する方法 をまず読んでみてください。 ーー 本件質問は、OKWAVEを見ている層の話題ではない恐れがある。 もっとソフト業者などの集まるサイトを探し、そこへ質問すべきでなないでしょうか(私見)?

GENESIS
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 参照いただいたサイトですが、私自身も色々と探して参照したサイトの1つでした。結局解決は出来なかったのでここに質問をした次第です。 ありがとうございました。

関連するQ&A

  • PDF 印刷

    イラストレーターで作成したA4サイズの画像を、PDF化して印刷をしようとしましたが、 勝手にトリミングされてしまい画像が切れた状態で余白ができてしまいます。 勝手にトリミングされずにすべてを印刷するにはどうすればいいでしょうか? 印刷ダイアログの「ページの拡大/縮小」は「なし」で設定しています。 PDF化するにあたっては、Acrobat 8 Professionalを使用しています。よろしくお願いします。

  • VB2005からページ指定してPDFの印刷の方法

    Windows XP上で、VB2005からページ指定してPDFファイルを印刷したいと思っています。 ProcessStartInfo.Verb = "Print"を使えば、PDFファイル全体を印刷させることが出来るのはわかっているのですが、ページ指定の方法が分かりません。 DOSプロンプトを使って、AdobeReader(Acrobat)の印刷ダイアログを表示させて印刷する方法があるのは知っているのですが、独自の印刷ダイアログから印刷をさせたいと思っています。 方法はどんなものでも良いので(できれば無料の)何か良い方法があればぜひ教えてください。

  • VectorworksでのPDF印刷

    Vectorworks2023で、A3サイズでPDF印刷をしたく、 用紙設定→プリンター設定→プリンタ面:Adobe PDFにて 用紙サイズをA3にし、 プリンタ設定の横に表示されるプロパティを選択し、 用紙/品質→詳細設定→用紙サイズでも、サイズがA3になっていること、拡大縮小も100%になっていることを確認して印刷しました。 しかし、印刷処理後、Adobe Acrobatで表示されるPDFはA4サイズで図面も大きく切れています。 Vectorowrksから、PDF印刷ではなく、ファイル→取り出す→PDF取出しを選択すると、 画面に表示されているA3のまま取り出せます。 しかし、文字が画像化されていたり所々気になる箇所があるので PDF印刷でもA3で印刷できるようにしたいです。 考えられる設定エラーや、対象があれば教えてください。 よろしくお願いいたします。

  • VBAでPDFをページ指定して印刷したい

    お世話になります。 ---------- <実現したいこと> Excel VBAを用いて、PDFファイルを印刷したい。 PDFファイルは、ページ指定をしたい。原則として最初のページと任意指定のページの2ページを印刷する。 できれば、1枚の用紙に2ページを印刷したいが、こちらは優先順位は低い。 <努力したこと> VBA上で、コマンドラインを使ってPDFを単純に印刷するまでは出来た。 だが、ページ指定のオプションが見つからない。もしかして存在しないのだろうか? コマンドライン以外でも構わないので、実現できる方法があれば知りたい。 <条件> 会社のWindows PCを利用している。 Adobe Acrobat PRO DCがインストールされている。 外部のソフトをインストールすることは難しい。 ---------- その他、不明な点がありましたら追記します。 よろしくお願いいたします。

  • PDFでページを印刷したい。

    PDFファイルにページをつけて印刷したいのですが、可能でしょうか?Acrobatでページ番号を設定しても、印刷はされないようです。元のファイルにページをつけておいてから、PDFに変換するべきなのでしょうか?

  • pdfファイルが印刷できない

    書き込みさせて頂きます。よろしくお願いします! メールで届いたPDFファイルを開こうとダブルクリックしたら 「現在設定の問題があるためWebブラウザでPDFファイルを表示 できません。Acrobatで問題を修正しますか?」 というエラーがでました。 とりあえず「はい」を選んだらAcrobatが立ち上がってきて ファイルをなんとか強制的に開くことができますが、 印刷しようとすると 「作業するメモリが足りません。Acrobat Reader5使用メモリサイズ を増やして下さい。」 とエラーがでて印刷できません!PDFファイルはよくあつかうので こんなエラーが今日初めて出てきて今とても困ってます。 どうすれば印刷できるようになるのでしょうか? どなたかアドバイスよろしくお願いします。 使っているのは Mac os9.2のeMaCです。 アクロバットはアクロバット5です。

  • VBA PDFでの印刷について

    エクセルで印刷する時に、PDF(アクロバット)にて印刷をさせるVBAを教えて下さい。 印刷を押す⇒PDFでの印刷といった感じにしたのです。 通常時のプリンタ指定は違うプリンタになっています。

  • PDFを並べて印刷

    質問させてください。 PDFファイルをAcrobatで、1枚に2ページ(横に並べて)印刷します。そうすると、1ページ目が左、2ページ目が右に印刷されてしまいます。これを逆にする方法ありますか?(1ページ目が右、2ページ目が左)

  • PDFの印刷

    質問させてください。 PDFファイルをAcrobatで印刷する際 1枚に2ページ(横に並べて)印刷することはできますか? (PowerPointの配布資料の印刷のように‥) 方法があったら教えてください。 よろしくお願いします。

  • EXCEL VBA 印刷 または PDF

    こんにちは。 EXCEL VBA初心者で、いろいろ調べてみましたが見つけられず 質問します。 1.自分のPCに設定してあるプリンタを選択したい 2.プリンタを指定して紙で印刷する 3.もしくは、PDF印刷を選択したらファイル名を指定して保存 ファイルの保存先は、自分で決めるのでダイアログボックスまででいいですが ファイル名はあらかじめ決めておきたい。 ・PDFにするには、「クロセPDF」を使用しています。(プリンター名も) ・PDFファイル名:ABCD ・使用するユーザーは、全国にいてプリンタ名などばらばら ・Windows XP/ EXCEL2003 シート名を選択してプリンターを選択するところまでは、わかりましたが 印刷するとき、PDFにするときしファイル名を表示させるのがどうしても わかりません・・・ Sub 印刷orPDF() Sheets("シート名").Select Application.Dialogs(xlDialogPrint).Show 以下、不明 どうぞ宜しくお願い申し上げます。

専門家に質問してみよう