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

    [VBA]ユーザーフォーム上のコンボボックスでオートコンプリート機能を実装する方法

    MSDNフォーラムに「ユーザーフォーム上のコンボボックスで、任意の文字…

  2. Office関連

    Excel 2016でUTF-8のCSVファイルがサポートされるようになりました。

    Office 2016の10月の機能更新によって、ExcelでUTF-…

  3. Office関連

    「IEを自在に操る Excel VBAプログラミング入門」レビュー

    ※ 下記レビューはあくまでも個人的な感想です。2013年9月2…

  4. Office関連

    「ExcelVBAを実務で使い倒す技術」レビュー

    @ateitexeさんの下記ツイートで、高橋宣成氏が執筆された「Exc…

  5. Office関連

    Acrobatを使ってPDFファイルを結合するVBAマクロ

    前回の記事では、iTextSharpを使ってPDFファイルを結合するP…

  6. Excel

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

    以前この記事で、指定したセル範囲をUTF-8やEUC-JP等のテキスト…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP