【お題】NEW演歌

※Adobe Acrobatは持っていません。

請求書、納品書、受領書などが1つのPDFの中に複数件入っていて数百ページに及びます。

Excel VBAから該当PDFを開き、sendkeys ctrl+f で"請求書"を検索してそのページを印刷したいのですが、アクティブページ番号の取得は可能でしょうか。

総ページ数の取得はネット検索でいろいろ出てきますが、アクティブページ番号の取得は見つかりません。
どうぞ宜しくお願いします。

A 回答 (1件)

こんにちは



何もなしで他のソフトを操作するのには、Shell経由で「開く」「印刷」等は可能です。
それ以上の操作となると、せいぜいsendkeysがいいところでしょう。
(あるいは、カーソル位置を指定して疑似マウス操作とか・・)
結果の表示をスクショに撮って解析するのならVBAでもできないことはないかも知れませんけれど、解析するだけでも大ごとですよね。

内容的に操作(+情報取得)したければ、APIやOLEオブジェクトを利用することになると思われますが、Acrobat Readerだけでは提供されていません。

>取得は見つかりません。
情報が無いのは、普通の手段では「できない」からと思います。

Acrobatがあれば、ご質問の内容は可能と思われます。
以下に、OLEを利用した文字列検索の例があります。
(情報が若干旧い可能性はありますが・・)
https://pdf-file.nnn2.com/?p=1099
    • good
    • 0
この回答へのお礼

とても参考になりました。
丁寧なご回答をありがとうございました。
Acrobatがないと出来ないんですね、残念ですが諦めがつきました。
PDFで"請求書"を検索し、何ページ目にあるかを目視してメモり、それをExcelに手打ちすると印刷範囲が算出される数式を作ることでなんとか乗り切れそうです。
全自動化よりは時間かかりますがうまくいきました。

お礼日時:2023/05/26 20:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報