説明
テキストフィールドでのテキストの整列を示します。設定又は取得できる値は以下のとおりです。
- left : 左
- center : 中央
- right : 右

テキストフィールド以外で使うと実行エラーになります。
形式
[ 取得 / 設定 ] String
設定又は戻り値
設定、又は取得可能な文字列
- left : 左
- center : 中央
- right : 右
1. 上記以外の値を設定しようとすると、実行エラーが発生します。
Microsoft Visual Basic
実行エラー '5':
プロシージャの呼び出し、または引数が不正です。
終了 デバッグ ヘルプ
2. テキストフィールド以外のフィールドに設定しようとすると、実行エラーが発生します。
Microsoft Visual Basic
実行エラー '-2147220989 (80040203)':
このプロパティまたはメソッドは、この種類のフィールドには適用されません。
終了 デバッグ ヘルプ
動作するバージョン
| 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の追加版) が必要です。
- F8 キーでステップ実行しながら動作確認します。
001 Option Explicit
002
003 Public Const PDSaveFull = &H1
004 Public Const PDSaveLinearized = &H4
005 Public Const PDSaveCollectGarbage = &H20
006
007 Sub AFormAut_Alignment_test()
008
009 Const CON_PDF_FILE = "D:\work\ReleaseNotes.pdf"
010 Const CON_PDF_FI_S = "D:\work\ReleaseNotes-S.pdf"
011
012 Dim lRet As Long
013
014 'Acrobatオブジェクトの定義&作成
015 Dim objAcroApp As New Acrobat.AcroApp
016 Dim objAcroAVDoc As New Acrobat.AcroAVDoc
017 Dim objAcroPDDoc As Acrobat.AcroPDDoc
018
019 Dim objAFormApp As New AFORMAUTLib.AFormApp
020 Dim objAFormFields As AFORMAUTLib.Fields
021 Dim objAFormField As AFORMAUTLib.Field
022
023 '※CreateObject("AFormAut.App")のエラー
024 '※[429 ActiveXコンポーネントはオブジェクトを作成できません。]
025 '※回避用 / メモリにAcrobatを強制ロードさせる
026 objAcroApp.CloseAllDocs
027 objAcroApp.Hide
028
029 '*―――――――――――――――――――--
030 '* PDFファイルを開く
031
032 '処理対象のPDFファイルを開く
033 '※AVDocでOpenしないと"AFormAut.App"で実行エラー
034 lRet = objAcroAVDoc.Open(CON_PDF_FILE, "")
035 If lRet = 0 Then
036 MsgBox "AVDocオブジェクトはOpen出来ません" & vbCrLf & _
037 CON_PDF_FILE, vbOKOnly + vbCritical, "処理エラー"
038 GoTo Skip_AFormAut_Alignment_test:
039 End If
040
041 '*―――――――――――――――――――--
042 '* AFormオブジェクトの作成
043
044 ' Set objAFormApp = CreateObject("AFormAut.App")
045 Set objAFormFields = objAFormApp.Fields
046
047 '*―――――――――――――――――――--
048 '* テキストフィールドの揃えを変更する
049
050 Set objAFormField = objAFormFields.Item("Text1.dt1")
051 objAFormField.Alignment = "left"
052 ' objAFormField.Value = objAFormField.Alignment
053
054 Set objAFormField = objAFormFields.Item("Text1.dt2")
055 objAFormField.Alignment = "center"
056 ' objAFormField.Value = objAFormField.Alignment
057
058 Set objAFormField = objAFormFields.Item("Text1.dt3")
059 objAFormField.Alignment = "right"
060 ' objAFormField.Value = objAFormField.Alignment
061
062 Skip_AFormAut_Alignment_test:
063
064 '*―――――――――――――――――――--
065 '* 終了処理
066
067 '変更したPDFファイルの保存はPDDoc.Saveで必ず行う
068 Set objAcroPDDoc = objAcroAVDoc.GetPDDoc
069 lRet = objAcroPDDoc.Save( _
070 PDSaveFull + PDSaveCollectGarbage + PDSaveLinearized, _
071 CON_PDF_FI_S)
072 If lRet = 0 Then
073 MsgBox "05: PDFファイルへ保存出来ませんでした" & vbCrLf & _
074 CON_PDF_FI_S, vbOKOnly & vbCritical, "エラー"
075 End If
076
077 'AVDocを閉じる
078 lRet = objAcroAVDoc.Close(1)
079
080 'Acrobatアプリケーションの終了
081 objAcroApp.Hide
082 objAcroApp.Exit
083
084 'オブジェクトの開放
085 Set objAFormFields = Nothing
086 Set objAFormApp = Nothing
087 Set objAcroAVDoc = Nothing
088 Set objAcroPDDoc = Nothing
089 Set objAcroApp = Nothing
090
091 MsgBox "End Sub"
092
093 End Sub
実行結果
1. Acrobat 7.1.4

2. Acrobat X (10.1.8)
Acrobat 7.1.4 と結果は同じ。
3. Acrobat XI (11.0.5)
Acrobat 7.1.4 と結果は同じ。
備考
- 上記サンプルでは、フィールド名を完全修飾(フル名称)で指定しています。フィールド名は、xxx.yyy の様にピリオドで区切ってあるフィールド名が複数ある時は、xxx だけを指定すれば頭に xxx. がつく全てのフイールド名を対象にする事が出来ます。しかし、このプロパティはそれが出来ません。以下を実行すると、実行エラーになります。
例 : 頭に「Text1.」のテキストフィールド名を中央そろえに設定しようとすると
Set objAFormField = objAFormFields.Item("Text1")
objAFormField.Alignment = "center" <ー★実行エラー
Microsoft Visual Basic
実行エラー '-2147220989 (80040203)':
このプロパティまたはメソッドは、この種類のフィールドには適用されません。
終了 デバッグ ヘルプ - Acrobat JavaScript ( Acrobat 8.0 ) に相当する命令が alignment です。
その他の参考URL
- JavaScript for Acrobat API Reference Adobe Acrobat SDK バージョン 8.0 のalignment を参照
※Acrobat JavaScript の詳細な解説書 / Acrobat v8.0 リファレンス(765頁)
Adobe Web 解説
OLE Automation / AFormAut / Alignment (公式サイト・英語)
< 戻る >

