Office関連

PDFファイルのフィールドを読み取り専用にするVBAマクロ

「PDFのフィールドに値を入力した後、読み取り専用にするにはどうしたら良いか?」、という質問を頂きました。
フィールドを操作するマクロについては、何年か前に記事を書いています。

Acrobat JavaScriptのFieldオブジェクトには、そのものズバリの「readonly」プロパティが用意されているので、上記記事のコードのようにGetJSObjectメソッド経由で設定できます。

'Acrobat JavaScriptでフィールド操作
Public Sub Sample()
  Dim app As Object
  Dim avdoc As Object
  Const PDSaveFull = &H1
  Const PdfFilePath As String = "C:\Test\PDF\入力フォームサンプル.pdf" 'PDFファイルのパス
  
  Set app = CreateObject("AcroExch.App")
  Set avdoc = CreateObject("AcroExch.AVDoc")
  If avdoc.Open(PdfFilePath, "") = True Then
    app.Show 'Acrobat表示
    With avdoc.GetPDDoc.GetJSObject
      .getField("氏名").Value = "手巣都 花子"
      With .getField("年齢")
        .Value = "25"
        .ReadOnly = True '「年齢」フィールドだけ読み取り専用に設定
      End With
      .getField("連絡先").Value = "XXX-XXXX-XXXX"
    End With
    avdoc.GetPDDoc.Save PDSaveFull, "C:\Test\PDF\(入力済み)入力フォームサンプル.pdf" '別名保存
    avdoc.Close 1 '文書を保存せずに閉じる
    app.Hide: app.Exit
  End If
End Sub

あるいは下記のようにAFormAppオブジェクト経由で処理することもできます。

'AFormAppオブジェクトでフィールド操作
Public Sub Sample2()
  Dim app As Object
  Dim avdoc As Object
  Const PDSaveFull = &H1
  Const PdfFilePath As String = "C:\Test\PDF\入力フォームサンプル.pdf" 'PDFファイルのパス
  
  Set app = CreateObject("AcroExch.App")
  Set avdoc = CreateObject("AcroExch.AVDoc")
  If avdoc.Open(PdfFilePath, "") = True Then
    app.Show 'Acrobat表示
    With CreateObject("AFormAut.App") 'AFORMAUTLib.AFormApp
      With .Fields
        .Item("氏名").Value = "手巣都 花子"
        With .Item("年齢")
          .Value = "25"
          .IsReadOnly = True
        End With
        .Item("連絡先").Value = "XXX-XXXX-XXXX"
      End With
    End With
    avdoc.GetPDDoc.Save PDSaveFull, "C:\Test\PDF\(入力済み)入力フォームサンプル.pdf" '別名保存
    avdoc.Close 1 '文書を保存せずに閉じる
    app.Hide: app.Exit
  End If
End Sub

[Power Automate Desktop]オートメーション ブラウザーとは?前のページ

2021年9月の人気記事次のページ

関連記事

  1. Office アドイン

    Ignite 2016で発表されたOffice アドイン関連の情報

    米国時間の9月26~30日にMicrosoftのビッグイベント「Ign…

  2. Office アドイン

    [Office用アプリ]Excel 2013の操作を動画で学べるアプリ「Excel video tu…

    Excel 2013の操作を動画で学べるアプリがMicrosoftから…

  3. Office関連

    VBE用のCOMアドインをメモ帳で作ってみる。

    “Officeアプリケーション用のCOMアドインをVisual Stu…

  4. Office関連

    指定したスライドにユーザー設定レイアウトを適用するPowerPointマクロ

    PowerPointにはオリジナルのレイアウト(ユーザー設定レイアウト…

  5. Office アドイン

    [Office用アプリ]Office ストアが新しくなりました。

    Office 用アプリやSharePoint 用アプリを配信しているO…

  6. クライアント管理

    [レジストリ]Adobe Acrobat Reader DCの環境設定

    Adobe Acrobat Reader DCの環境設定や自動更新に関…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

Translate

Chinese (Simplified)Chinese (Traditional)EnglishFrenchGermanJapaneseKoreanRussianSpanish

最近の記事

アーカイブ

PAGE TOP