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. Office関連

    指定したセル範囲をUTF-8やEUC-JP等のテキストファイルとして出力するExcelマクロ

    ExcelファイルをUTF-8のテキストファイルで出力する必要があった…

  2. Office関連

    「Excel VBAでIEを思いのままに操作できるプログラミング術」の見本誌をいただきました。

    「VBAアクションゲーム?Excel(エクセル)で動かそう!」で有名な…

  3. Office関連

    マクロで実行したいコマンドのIDを調べる簡単な方法

    MSDN フォーラムに下記質問がありました。・Excel-VB…

  4. Excel

    Google TTSで文字列を読み上げるマクロ(言語自動検出対応版)

    2012/2/15 追記:下記マクロをExcel 2007/201…

  5. Excel

    VBAの力量をはかる3つの質問

    先日、Twitterではけた氏の面白いツイートがありました。3…

  6. Office関連

    VBAを学ぶときの参考資料

    知人から「Excelのマクロを勉強したいんだけど、どうやって勉強したら…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP