AFormAut : Alignment プロパティ

TOP > AFormAut > Alignment プロパティ


説明

テキストフィールドでのテキストの整列を示します。

設定又は取得できる値は、以下のとおりです。

  • left : 左
  • center : 中央
  • right : 右

AFormAut : Alignment プロパティ 設定後の例

テキストフィールド以外で使うと実行エラーになります。

 

  

形式

[ 取得 / 設定 ] String

 

 

設定又は戻り値

設定、又は取得可能な文字列

  1. left : 左
  2. center : 中央
  3. right : 右

 

1.  上記以外の値を設定しようとすると、実行エラーが発生します。

AFormAut : Alignment プロパティ 実行エラー

Microsoft Visual Basic
実行エラー '5':
プロシージャの呼び出し、または引数が不正です。
終了 デバッグ ヘルプ

 

2.  テキストフィールド以外のフィールドに設定しようとすると、実行エラーが発生します。

AFormAut : Alignment プロパティ 実行エラー

Microsoft Visual Basic
実行エラー '-2147220989 (80040203)':
このプロパティまたはメソッドは、この種類のフィールドには適用されません。
終了 デバッグ ヘルプ

 

 

動作するバージョン

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 : 全ての「PDF のバージョン」での処理を可能にしたければ、
    処理前のレジストリに以下を追加する必要があります。
    [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 : Alignment プロパティ

 

Option Explicit

Public Const PDSaveFull = &H1
Public Const PDSaveLinearized = &H4
Public Const PDSaveCollectGarbage = &H20

Sub AFormAut_Alignment_test()

    Const CON_PDF_FILE = "D:¥work¥ReleaseNotes.pdf"
    Const CON_PDF_FI_S = "D:¥work¥ReleaseNotes-S.pdf"
    
    Dim lRet            As Long
    
    'Acrobatオブジェクトの定義&作成
    Dim objAcroApp      As New Acrobat.AcroApp
    Dim objAcroAVDoc    As New Acrobat.AcroAVDoc
    Dim objAcroPDDoc    As Acrobat.AcroPDDoc
     
    Dim objAFormApp     As AFORMAUTLib.AFormApp
    Dim objAFormFields  As AFORMAUTLib.Fields
    Dim objAFormField   As AFORMAUTLib.Field
    
    '※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_Alignment_test:
    End If
    
    '*―――――――――――――――――――--
    '* AFormオブジェクトの作成
    
    Set objAFormApp = CreateObject("AFormAut.App")
    Set objAFormFields = objAFormApp.Fields
    
    '*―――――――――――――――――――--
    '* テキストフィールドの揃えを変更する
    
    Set objAFormField = objAFormFields.Item("Text1.dt1")
    objAFormField.Alignment = "left"
'    objAFormField.Value = objAFormField.Alignment
    
    Set objAFormField = objAFormFields.Item("Text1.dt2")
    objAFormField.Alignment = "center"
'    objAFormField.Value = objAFormField.Alignment
    
    Set objAFormField = objAFormFields.Item("Text1.dt3")
    objAFormField.Alignment = "right"
'    objAFormField.Value = objAFormField.Alignment
        
Skip_AFormAut_Alignment_test:

    '*―――――――――――――――――――--
    '* 終了処理
    
    '変更したPDFファイルの保存はPDDoc.Saveで必ず行う
    Set objAcroPDDoc = objAcroAVDoc.GetPDDoc
    lRet = objAcroPDDoc.Save( _
        PDSaveFull + PDSaveCollectGarbage + PDSaveLinearized, _
        CON_PDF_FI_S)
    If lRet = 0 Then
        MsgBox "05: PDFファイルへ保存出来ませんでした" & vbCrLf & _
            CON_PDF_FI_S, vbOKOnly & vbCritical, "エラー"
    End If
    
    'AVDocを閉じる
    lRet = objAcroAVDoc.Close(1)
    
    'Acrobatアプリケーションの終了
    objAcroApp.Hide
    objAcroApp.Exit
    
    'オブジェクトの開放
    Set objAFormFields = Nothing
    Set objAFormApp = Nothing
    Set objAcroAVDoc = Nothing
    Set objAcroPDDoc = Nothing
    Set objAcroApp = Nothing
    
    MsgBox "End Sub"

End Sub

 

※ソースコードHTML変換:SourceConverter

  

  


実行結果

 

1. Acrobat 7.1.4

AFormAut : Alignment プロパティ 

 
 
 

2. Acrobat X (10.1.8)

Acrobat 7.1.4 と結果は同じ。

 

3. Acrobat XI (11.0.5)

Acrobat 7.1.4 と結果は同じ。

 

 

備考

  1. 上記サンプルでは、フィールド名を完全修飾(フル名称)で指定しています。
    フィールド名は、xxx.yyy の様にピリオドで区切ってあるフィールド名が複数ある時は、xxx だけを指定すれば頭に xxx. がつく全てのフイールド名を対象にする事が出来ます。
    しかし、このプロパティはそれが出来ません。
    以下を実行すると、実行エラーになります。
      
    例 : 頭に「Text1.」のテキストフィールド名を中央そろえに設定しようとすると 
        Set objAFormField = objAFormFields.Item("Text1"
        objAFormField.Alignment = "center" <ー★実行エラー
      
    AFormAut : Alignment プロパティ 実行エラー

    Microsoft Visual Basic
    実行エラー '-2147220989 (80040203)':
    このプロパティまたはメソッドは、この種類のフィールドには適用されません。
    終了 デバッグ ヘルプ

      

  2. Acrobat JavaScript ( Acrobat 8.0 ) に相当する命令が alignment です。

 

Adobe Web 解説 URL(英語)

 

その他の参考URL

  1. JavaScript for Acrobat API Reference Adobe Acrobat SDK バージョン 8.0 のalignment を参照
    ※Acrobat JavaScript の詳細な解説書 / Acrobat v8.0 リファレンス(765頁) 
           

 

 

戻る

コメントを残す

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

CAPTCHA


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


SAMURAI Plugin

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

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