Excel

Acrobatを使ってPDFのドロップダウンリストに項目を追加するVBAマクロ

久々のVBAネタです。
“Acrobatを使って手作業で更新しているPDFのドロップダウンリストの値をExcelのマクロ使って一括設定できないか?”、とのご質問を頂きました。

答えは可能です。
7年ほど前に書いた下記記事でも説明していますが、AcrobatのFieldオブジェクトを操作することで、フィールドの値の取得や設定ができます。

今回の場合はドロップダウンリストの値を一括設定したいとのことなので、(Field).setItemsメソッドを使用します。

サンプルファイル

今回はサンプルファイルとして下図のファイルを使用します。
「支社所在地」フィールドの値をセル範囲A2:A48から、「ガソリン代単価」フィールドの値をセル範囲B2:B7から一括で設定します。

PDFのドロップダウンリストの値を一括設定するVBAマクロ

下記がサンプルコードになります。
GetJSObjectメソッドで取得したJSObject経由でsetItemsメソッドを実行しています。
今回は複数の値を一括で設定するため、引数を文字列型の配列としています。

上記コードを実行すると、各ドロップダウンリストの値が設定された新規ファイルが、指定した場所に保存されます。

上記コードでは、セル範囲(一列)の値を文字列型の配列に格納するための簡単な自作関数を書いていますが、TransposeやJoin、Splitを使って一行で書くこともできます。

Split(Join(Application.WorksheetFunction.Transpose(TargetRange), "|"), "|")

上記のようにVBAマクロからAcrobatを操作する際は、Adobeが公開しているリファレンスが参考になるでしょう。

2023年8月の人気記事前のページ

Microsoft Designerで不要な部分を消す方法の紹介次のページ

関連記事

  1. Excel

    Google TTSで文字列を読み上げるExcelアドイン

    前回の記事で書いたGoogle TTSで文字列を読み上げるマクロ(言語…

  2. Office関連

    「Excel VBAでラクラク Win64 APIプログラミング」(大村あつし著)レビュー

    当ブログでも以前書評を書いた「Excel VBAの神様 ボクの人生を変…

  3. Office関連

    Excelのアイデア機能でグラフやピボットグラフを一発作成

    Insider版のExcelに「アイデア」機能が追加されました。…

  4. Excel

    ClosedXMLやEPPlusでExcelファイルを読み書きしてみた。

    今回の記事の発端は下記のQiita投稿。・Excelファイ…

  5. Office関連

    選択範囲をOneNoteに送るVBAマクロ

    OneNote プリンタードライバー(プリンター)を使ってドキュメント…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP