AFormAut : Count プロパティ

TOP > AFormAut > Count プロパティ


説明

PDF 上のFields コレクションの数を取得する。

テキストフィールド等だけでなく、Fields コレクションの数である事に注意が必要です。

AFormAut : Count プロパティ

 

 

形式

[ read-only : 読み込みのみ ]  long

 

動作するバージョン

Adobe
Acrobat
結果
備考
4
NO
Acrobat 4.0 ※Windows 98SE + Excel 2000 *1
※古いPDFのバージョンはOK!
5
NO
Acrobat 5.0.5 + Excel 2003 *1
※古いPDFのバージョンはOK
6
NO
Acrobat 6.0.6 Pro + Excel 2003 *1
※古いPDFのバージョンはOK
7
OK
Acrobat 7.1.4 Pro + Excel 2003 *2 
※レジストリ操作で全面的に可能になる
8
NO
Acrobat 8.3.1 Pro + Excel 2003
※当Acrobatバージョンでは全面的に不可
9
NO
Acrobat 9.5.5 Extended + Excel 2003
※当Acrobatバージョンでは全面的に不可
10
OK
Acrobat X (10.1.8) Extended + Excel 2003
11
OK
Acrobat XI (11.0.5) Extended + Excel 2003
  • OK : 正常処理。
  • NO : 動作しない。 又は実行時にエラーになる。
  • *1 : 「PDF のバージョン」によっては正常処理出来ない場合がある。
  • *2 : 処理前のレジストリに以下を追加する必要があります。
    [HKEY_CURRENT_USER¥Software¥Adobe¥Adobe Acrobat¥7.0¥AVAlert]
    [HKEY_CURRENT_USER¥Software¥Adobe¥Adobe Acrobat¥7.0¥AVAlert¥cCheckbox]
    "idocNewerVersionWarning"=dword:00000001

 






サンプル:Excel のVBA

 

説明 : PDF上のフィールドコレクションの数を表示する。

AFormAut : Count プロパティ   

   

Option Explicit

Sub AFormAut_Count_test()

    Dim lRet            As Long
    
    Const CON_PDF_FILE = "D:¥work¥ReleaseNotes.pdf"
    
    'Acrobatオブジェクトの定義&作成
    Dim objAcroApp      As New Acrobat.AcroApp
    Dim objAcroAVDoc    As New Acrobat.AcroAVDoc
     
    Dim objAFormApp     As AFORMAUTLib.AFormApp
    Dim objAFormFields  As AFORMAUTLib.Fields
    Dim objAFormField   As AFORMAUTLib.Field
    
    Dim lFieldsCount    As Long
    Dim lCnt            As Long
    
    '※CreateObject("AFormAut.App")のエラー
    '※[429 ActiveXコンポーネントはオブジェクトを作成できません。]
    '※回避用 / メモリにAcrobatを強制ロードさせる
    objAcroApp.CloseAllDocs
    
    '*―――――――――――――――――――--
    '* PDFファイルを開く
    
    '処理対象のPDFファイルを開く
    '※AVDocでOpenしないと"AFormAut.App"で実行エラー
    lRet = objAcroAVDoc.Open(CON_PDF_FILE, "")
    If lRet = 0 Then
        MsgBox "AVDocオブジェクトはOpen出来ません" & vbCrLf & _
            CON_PDF_FILE, vbOKOnly + vbCritical, "処理エラー"
        GoTo Skip_AFormAut_Count_test:
    End If
    
    '*―――――――――――――――――――--
    '* AFormオブジェクトの作成
    
    Set objAFormApp = CreateObject("AFormAut.App")
    Set objAFormFields = objAFormApp.Fields
    
    '*―――――――――――――――――――--
    '* フィールドコレクションの数を表示
    
    lFieldsCount = objAFormFields.Count
    Debug.Print "Fields.Count (" & lFieldsCount & ")"
    
    lCnt = 0
    For Each objAFormField In objAFormFields
        lCnt = lCnt + 1
        'フィールドのタイプを表示
        Debug.Print "(" & objAFormField.Type & ")"
    Next objAFormField
    
Skip_AFormAut_Count_test:

    '*―――――――――――――――――――--
    '* 終了処理
    
    'AVDocを閉じる
    lRet = objAcroAVDoc.Close(1)
    
    'Acrobatアプリケーションの終了
    objAcroApp.Hide
    objAcroApp.Exit
    
    'オブジェクトの開放
    Set objAFormFields = Nothing
    Set objAFormApp = Nothing
    Set objAcroAVDoc = Nothing
    Set objAcroApp = Nothing
    
    MsgBox "End Sub"

End Sub

 

 

 


実行結果

 

1. Acrobat 7.1.4

  • objAFormFields.Count の値は 4、
    テキストフィールの数は3

      

2. Acrobat X (10.1.8)

Acrobat 7.1.4 と結果は同じ。

 

3. Acrobat XI (11.0.5)

Acrobat 7.1.4 と結果は同じ。

 

  

備考

  1. 特になし。

 

注意事項

  1. 特になし。 

 

Adobe Web 解説 URL(英語)

 

戻る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


出来るだけ早く返答する様には心がけています。
が、遅くなる時もありますのでご了承ください。


SAMURAI Plugin

コメントをする時は最低でも以下をお願いします。

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン