Skip to main content
Participant
February 10, 2022
質問

ドロップダウンリストの取込について

  • February 10, 2022
  • 返信数 1.
  • 327 ビュー

excelシートに入力された部署名をacrobatフォームのドロップダウンのプロパティに取り込む方法を教えてください。

よろしくお願いします。

 

※Acrobat (us) から Acrobatフォーラム (jp) に移動しました。[moderator]

このトピックへの返信は締め切られました。

返信数 1

Inspiring
June 23, 2022

以下の内容を共に、Excel VBAを書いてみました。

 

https://community.adobe.com/t5/acrobat-sdk-discussions/vba-acrobat-dc-pro-aformaut-populatelistorcombobox/m-p/8428464?profile.language=en

 

ExcelのA列の内容を、PDF上のドロップダウン:Dropdown1のリストに設定します。

 

Sub ItemSet_Click()
    Dim szPdf As Variant
    Dim szTitle As String
    Dim szField As Variant
    Dim objFSO As Object
    Dim objAVDoc As Object
    Dim objPDDoc As Object
    Dim lRet As Long
    Dim objAFormApp As Object
    Dim szJava As String
    Dim itemVal As Variant
    Dim objAcroApp As Object
    
    
    ' PDFパス
    szPdf = "C:\Work\Acrobatフォーム確認.pdf"
    ' フィールド名
    szField = "Dropdown1"
    
    ' FileSystemObject
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    ' Title
    szTitle = objFSO.GetFileName(szPdf)
    ' AVDoc
    Set objAVDoc = CreateObject("AcroExch.AVDoc")
    lRet = objAVDoc.Open(szPdf, szTitle)
    If lRet = True Then
        ' Form
        Set objAFormApp = CreateObject("AFormAut.App")
        
        ' Java script文字列作成
        szJava = "getField('"
        szJava = szJava & szField
        szJava = szJava & "').setItems(["
        
        ' A列の内容を取得:最大100行まで
        For lItem = 1 To 100
            itemVal = Cells(lItem, 1).Value
            If IsEmpty(itemVal) = True Then
                Exit For
            End If
            If lItem <> 1 Then
                szJava = szJava & ","
            End If
            szJava = szJava & "['"
            szJava = szJava & itemVal
            szJava = szJava & "','"
            szJava = szJava & lItem
            szJava = szJava & "']"
        Next lItem
        szJava = szJava & "])"
        
        ' コンボボックスリスト設定
        objAFormApp.Fields.ExecuteThisJavascript szJava
        
        Set objAFormApp = Nothing
        
        ' Acrobat表示
        Set objAcroApp = CreateObject("AcroExch.App")
        objAcroApp.Show
        Set objAcroApp = Nothing
    End If
    Set objAVDoc = Nothing
    Set objFSO = Nothing
End Sub