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

    インストールされているアプリケーション一覧を取得するVBAマクロ

    端末にインストールされているアプリケーション名を調べる必要があったので…

  2. Office関連

    [VBA]ファイルタブ(Backstage ビュー)の表示を禁止する。

    数年前ホームページで「ファイルタブボタンのクリックを禁止する(Offi…

  3. Office関連

    ExcelとPowerPointに自動保存機能が追加されました。

    Excel 2016を使っていて、ふと気が付いたのが画面左上にある「自…

  4. Office関連

    「データ追跡機能付きテンプレート ウィザード」のダウンロード先

    ※ 下記に紹介する方法はOfficeのサービスパックからデータ追跡機能…

  5. Office関連

    パスワード付のPDFファイルを作成するExcelマクロ

    2019/8/16 追記:WordやPowerPointにも対応し…

  6. Office関連

    Computer Vision APIを使って画像から文字列を取得するVBAマクロ

    前々回の記事で、Fiddlerを使ってMicrosoft Cognit…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP