AFormAut : BorderWidth プロパティ

TOP > AFormAut > *


説明

四角形のフィールドの周囲を囲む境界線の太さを数値で示します。設定、又は取得できる数値は以下のとおりです。

  • 0 : 境界線を表示しない ※設定出来ない場合が有る
  • 1 : 細い境界線  ※デフォルト
  • 2 : 標準の境界線
  • 3 : 太い境界線

以下のAcrobat アプリのプロパティ画面の幅に相当する設定と同じです。

AFormAut : BorderWidth プロパティ Acrobat テキストフィールドのプロパティ画面 幅の設定

形式

[ 取得 / 設定 ] short

設定又は戻り値

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

  • 0 : 境界線を表示しない ※設定出来ない場合が有る
  • 1 : 細い境界線 ※デフォルト
  • 2 : 標準の境界線
  • 3 : 太い境界線
  1. 境界線の色(SetBorderColor)が透明である場合、このプロパティは境界線スタイル(BorderStyle)がベベル(beveled)の場合を除いては効果がありません。つまり、その時はどんなに値を1~3に設定しても、値0(境界線を表示しない)と同じ扱いになります。
     
  2. 境界線の色(SetBorderColor)が透明で無い場合は、値0(境界線を表示しない)を指定しても、 Acrobat のプロパティ画面上では「細」に変更されます。
      
  3. SDK の説明上は値3までです。しかし、値4以上を設定しても正常終了します。しかも、その値にそった境界線の太さを表示します。その値(BorderWidth プロパティ)もPDF内部に保存されます。
    AFormAut : BorderWidth プロパティ
  4. マイナス値はエラーにならず、値1として扱われます。

動作するバージョン

Acrobat結果備考
4NOAcrobat 4.0 ※Windows 98SE + Excel 2000 *1
※古いPDFのバージョンはOK!
5NOAcrobat 5.0.5 + Excel 2003 *1
※古いPDFのバージョンはOK
6NOAcrobat 6.0.6 Pro + Excel 2003 *1
※古いPDFのバージョンはOK
7OKAcrobat 7.1.4 Pro + Excel 2003 *2 
※レジストリ操作で全面的に可能になる
8NOAcrobat 8.3.1 Pro + Excel 2003
※当Acrobatバージョンでは全面的に不可
9NOAcrobat 9.5.5 Extended + Excel 2003
※当Acrobatバージョンでは全面的に不可
10OKAcrobat X (10.1.8) Extended + Excel 2003
11OKAcrobat 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 : BorderWidth プロパティ
001 Option Explicit 002 003 Public Const PDSaveFull = &H1 004 Public Const PDSaveLinearized = &H4 005 Public Const PDSaveCollectGarbage = &H20 006 007 Sub AFormAut_BorderWidth_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_BorderWidth_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.BorderWidth = 0 052 053 Set objAFormField = objAFormFields.Item("Text1.dt2") 054 objAFormField.BorderWidth = 1 055 056 Set objAFormField = objAFormFields.Item("Text1.dt3") 057 objAFormField.BorderWidth = 2 058 059 Set objAFormField = objAFormFields.Item("Text1.dt4") 060 objAFormField.BorderWidth = 3 061 062 Skip_AFormAut_BorderWidth_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

AFormAut : BorderWidth プロパティ
AFormAut : BorderWidth プロパティ

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.BorderWidth = 1 <ー★実行エラー
     
    Microsoft Visual Basic
    実行エラー '-2147220990 (80040202)':
    このプロパティまたはメソッドは、ターミナルフィールド又はその注釈には適用されません。
    終了 デバッグ ヘルプ
     
      
  2. Acrobat JavaScript ( Acrobat 8.0 ) に相当する命令が alignment です。

注意事項

  1. 当プロパティで使える値は基本的に0~3までです。それ以外の値も使用出来るように当サイトでは説明していますが、それはテスト結果です。将来的にも使える保証はありません。

その他の参考URL

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

Adobe Web 解説

OLE Automation / AFormAut / BorderWidth (公式サイト・英語)

戻る

コメントを残す

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

CAPTCHA



SAMURAI Plugin

コメントをする時は出来れば以下もお願いします。

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン
コメントにサンプルコードを入れる時はコードを全て全角文字列にしてください。コチラで半角に戻します。それでもエラーが回避できない時はコメント下さい。個別に対処します。



お仕事で当サイトを見ている方へ
考え込んだら、ご質問下さい。
一緒に解決策を考えましょう。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください