HELP

DWアノテーション取得

DWアノテーション取得は、指定ページのアノテーションを検索してアノテーションリストを作成します。子ノードに、XDW文書のアノテーションの繰り返し処理を追加する事で、アノテーションに対して繰り返し処理を行うことができます。

オープン処理

XDW文書オープン処理を選択します。最後にオープンされたオープン処理名を返すマクロ「{%DW_GET(OpenName)}」がデフォルト表示されます。

ページ

アノテーションを取得するページを入力します。XDW文書のページの繰り返しの中で「{%DW_GET(PageLoopCount)}」と記述すると現在のページを指定できます。

種類

アノテーションの種類を指定します。

対象

アノテーションは階層構造で貼り付けできるようになっており、どの階層のアノテーションを対象にするかを以下から指定します。

ページ直下

ページに直接貼り付けられているアノテーションを対象にします。

付箋上

ページ直下の付箋の上に貼り付けられているアノテーションを対象にします。付箋上であれば、グループ内、カスタムアノテーション上のアノテーションも対象にします。

グループ内

ページ直下のグループ内に貼り付けられているアノテーションを対象にします。

カスタム上

ページ直下のカスタムアノテーションの上に貼り付けられているアノテーションを対象にします。

アノテーションの階層と取得対象となるアノテーションについて

DocuWorksで貼り付けできるアノテーションの階層のパターンは以下の様になっています。

  1. ページ > 取得アノテーション
  2. ページ > グループ > 取得アノテーション
  3. ページ > グループ > カスタム > 取得アノテーション
  4. ページ > グループ > カスタム > グループ > 取得アノテーション
  5. ページ > カスタム > 取得アノテーション
  6. ページ > カスタム > グループ > 取得アノテーション
  7. ページ > 付箋 > 取得アノテーション
  8. ページ > 付箋 > グループ > 取得アノテーション
  9. ページ > 付箋 > グループ > カスタム > 取得アノテーション
  10. ページ > 付箋 > グループ > カスタム > グループ > 取得アノテーション
  11. ページ > 付箋 > カスタム > 取得アノテーション
  12. ページ > 付箋 > カスタム > グループ > 取得アノテーション

上記のパターンと対象の指定の対応は以下の通りです。

ページ直下 1
付箋上 7~12
グループ内 2~4
カスタム上 5,6

条件

属性条件を指定する

チェックすると属性に対しての検索条件を設定する事ができます。

属性

アノテーションの属性を指定します。指定されたアノテーションの種類に対応した属性の中から選択できます。

比較式

指定された属性と値を比較する演算子を指定します。

属性の内容によって選択できる項目が変わります。比較式以外では正規表現が使用できます。正規表現は以下の2種類あります。

正規表現 正規表現でマッチングを行います。
正規表現(GM) 正規表現でグローバルマッチを行います。正規表現にマッチするすべてのパターンを検出します。

指定された属性と比較する値を指定します。

比較式に正規表現を指定した場合は、値にキャプチャ記号()を記述することで、()の中の文字を簡単に取得できるようになります。

値にキャプチャ記号()がある場合、取得結果の基本属性「 CapturedTexts 」に結果が格納されます。

条件

複数の条件を登録した場合に有効となります。直前の条件とのANDまたはORを指定します。

2つ目以降の条件に対して適用されます。(1つ目の条件の論理式は無視されます。)

削除

選択された条件を削除します。

上へ

選択された条件を上へ移動します。

下へ

選択された条件を下へ移動します。

追加ボタン

属性、比較式、値等の入力後、追加ボタンを押すと条件リストに追加されます。

条件はリストに追加しないと正常に動作しません。変更時の操作では追加ボタンの押し忘れや、変更前の条件の削除のし忘れに注意してください。

ページ分割

分割マークをつける

チェックすると文字を検出したページをメモリに記憶します。ページ分割はファイル移動・コピー処理で行うことができます。

分割データ

ファイル移動・コピー処理で、分割を行う際に取得できるデータを指定します。

例えば、「{%GET_U(DWアノテーション取得1,1,Text)}」と記述しておけば、ページ分割を行った際に、分割後のファイル名に取得した文字を使用することができるようになります。

検索したアノテーション属性の取得方法

検索にマッチしたアノテーションの属性値はユーザーデータに格納されます。

アノテーションはページ内に複数見つかる可能性があるので、ユーザーデータにはアノテーション毎にデータがセットされます。ユーザーデータにセットする内容は以下の通りです。(属性はアノテーションのタイプによって変化します。)

引数1:DWアノテーション取得処理名

引数2:アノテーション番号

引数3:属性名

テキストアノテーションの文字列を取得する場合

{%GET_U(DWアノテーション取得1,1,Text)}

基本の属性

以下の属性はすべてのアノテーションで取得できます。

属性名
AnnotationType

アノテーションのタイプ。

アノテーションのタイプ
付箋 付箋
テキスト テキスト
日付印 日付印
直線 直線
矩形 矩形
楕円 楕円
フリーハンド/マーカー マーカー
リンク リンク
OLE OLE
ビットマップ(画像) ビットマップ
多角形 多角形
タイトル タイトル
カスタム カスタム
グループ グループ
AnnotationKey アノテーションキー。マクロなどでアノテーションを指定する際に使用します。
ChildAnnotationCount アノテーションに貼られている子アノテーションの数。
HorPosPageBased アノテーションの水平方向の位置(X座標)。小数点第2位まで有効。グループや付箋などのコンテナ上のアノテーションの場合でも、ページの左上を基準とした座標となります。
単位 : mm
VerPosPageBased アノテーションの垂直方向の位置(Y座標)。小数点第2位まで有効。グループや付箋などのコンテナ上のアノテーションの場合でも、ページの左上を基準とした座標となります。
単位 : mm
HorPos アノテーションの水平方向の位置(X座標)。小数点第2位まで有効。グループや付箋などのコンテナ上のアノテーションの場合に、親アノテーションの左上を基準とした座標となります。
単位 : mm 範囲 : -2400~2400
VerPos アノテーションの垂直方向の位置(Y座標)。小数点第2位まで有効。グループや付箋などのコンテナ上のアノテーションの場合に、親アノテーションの左上を基準とした座標となります。
単位 : mm 範囲 : -2400~2400
Width アノテーションの幅。小数点第2位まで有効。
単位 : mm 範囲: 5~50
DocuWorksの問題で、取得した値に誤差が生じる。DocuWorks7では0.02mm、DocuWorks8では0.15mmほど増加した値が取得される。DocuWorks8.0.3で修正された。
Height アノテーションの高さ。小数点第2位まで有効。
単位 : mm 範囲: 5~50
DocuWorksの問題で、取得した値に誤差が生じる。DocuWorks7では0.02mm、DocuWorks8では0.15mmほど増加した値が取得される。DocuWorks8.0.3で修正された。
ParentAnnotationKey

親アノテーションキー。マクロなどでアノテーションを指定する際に使用します。

付箋上のテキストを検索した場合に付箋アノテーションのアノテーションキーを取得したい場合などに使用します。

親アノテーションがない場合は空文字列がセットされます。

CapturedTexts 属性条件に正規表現を使用した場合に、正規表現中にキャプチャ()を記述した場合、()内の文字がユーザーデータから取得できます。
CapturedTextsの後ろの引き数は、属性条件番号(正規表現を使用した条件)、キャプチャ番号となっています。
アノテーション
番号:123
属性条件 テキスト 正規表現 番号:(.+)
取得例 #DWアノテーション取得名,マッチしたアノテーションのアノテーション番号,CapturedTexts,条件番号,キャプチャ番号 {%WRITE_LOG("{%GET_U(DWアノテーション取得1,1,CapturedTexts,1,1)}")}
結果 "123"
アノテーション
担当:伊藤 博文
属性条件 テキスト 正規表現 担当:(.+)\s+(.+)
取得例 #DWアノテーション取得名,マッチしたアノテーションのアノテーション番号,CapturedTexts,条件番号,キャプチャ番号 {%WRITE_LOG("{%GET_U(DWアノテーション取得1,1,CapturedTexts,1,1)}")} {%WRITE_LOG("{%GET_U(DWアノテーション取得1,1,CapturedTexts,1,2)}")}
結果 "伊藤" "博文"

複数条件の場合

以下の様に2つの条件をORで指定することもできますが、格納結果が複雑になります。

条件番号は正規表現を使っている条件のみを対象とします。例えば1番目の条件に正規表現を使わず、2番目に正規表現を使っている場合、2番目の条件のCapturedTextsを取得するには、条件番号に1を指定します。

アノテーション
番号:123
担当:伊藤 博文
属性条件 テキスト 正規表現 番号:(.+) テキスト 正規表現 担当:(.+)\s+(.+) OR
取得例 #DWアノテーション取得名,マッチしたアノテーションのアノテーション番号,CapturedTexts,条件番号,キャプチャ番号 {%WRITE_LOG("{%GET_U(DWアノテーション取得1,1,CapturedTexts,1,1)}")} {%WRITE_LOG("{%GET_U(DWアノテーション取得1,1,CapturedTexts,2,1)}")} {%WRITE_LOG("{%GET_U(DWアノテーション取得1,1,CapturedTexts,2,2)}")} {%WRITE_LOG("{%GET_U(DWアノテーション取得1,2,CapturedTexts,1,1)}")} {%WRITE_LOG("{%GET_U(DWアノテーション取得1,2,CapturedTexts,2,1)}")} {%WRITE_LOG("{%GET_U(DWアノテーション取得1,2,CapturedTexts,2,2)}")}
結果 "123" "" "" "" "伊藤" "博文"

グローバルマッチの場合

条件の比較式に正規表現(GM)を使用した場合は、ユーザーデータの階層が一つ増えます。

アノテーション
番号:123
番号:789
属性条件 テキスト 正規表現(GM) 番号:(.+)
取得例 #DWアノテーション取得名,マッチしたアノテーションのアノテーション番号,CapturedTexts,条件番号,マッチ番号,キャプチャ番号 #見つかったすべての番号をログに出力する {%LOOP L1 {%GET_USER_DATA_KEY_COUNT(DWアノテーション取得1,1,CapturedTexts,1)}( {%WRITE_LOG("{%GET_U(DWアノテーション取得1,1,CapturedTexts,1,[L_IDX(L1)],1)}")} )}
結果 "123" "789"

テキストアノテーション(AnnotationTypeがテキストの場合)

属性名
Text 文字列。
FontName フォント名。
FontStyle フォントスタイル。以下の何れか。
イタリック
ボールド
下線
打ち消し線
複数のスタイルを設定されている場合は、「イタリック|下線」のように|で区切られている。
FontStyleItalic フォントスタイル(イタリック)。以下の何れか。
する
しない
FontStyleBold フォントスタイル(ボールド)。以下の何れか。
する
しない
FontStyleUnderline フォントスタイル(下線)。以下の何れか。
する
しない
FontStyleStrikeOut フォントスタイル(打ち消し線)。以下の何れか。
する
しない
FontSize フォントサイズ。小数点第1位まで有効。
単位 : ポイント
ForeColor 文字の色。
定義済みの場合は以下の何れか。未定義の場合はカラーコード(16進文字列で6文字)。
黒
茶
緑
オリーブ
紺
紫
青緑
灰
銀
赤
黄緑
黄
青
赤紫
水色
白
BackColor 背景色。
定義済みの場合は以下の何れか。(透過の場合は"無し"。色コード010101が割り当てられているので、010101はカラーとして使用不可。) 未定義の場合はカラーコード(16進文字列で6文字)。
無し
黒
茶
緑
オリーブ
紺
紫
青緑
灰
銀
赤
黄緑
黄
青
赤紫
水色
白
WordWrap 文字の折り返し。以下の何れか。
折り返す
折り返さない
TextDirection 文字の方向。以下の何れか。
横書き
縦書き
TextOrientation 文字列の回転角度。時計回りで0~359。
LineSpace 文字列の行間。小数点第2位まで有効。
単位 : 行  範囲: 1~10
TextSpacing テキストの文字間隔。小数点第1位まで有効。
単位 : ポイント
TextTopMargin 文字の上マージン。0~200の値。小数点第2位まで有効。
単位 : mm
TextLeftMargin 文字の左マージン。0~200の値。小数点第2位まで有効。
単位 : mm
TextBottomMargin 文字の下マージン。0~200の値。小数点第2位まで有効。
単位 : mm
TextRightMargin 文字の右マージン。0~200の値。小数点第2位まで有効。
単位 : mm
TextAutoResizeHeight 高さの自動調整。折り返しを行う場合に有効。以下の何れか。
する
しない

日付印アノテーション(AnnotationTypeが日付印の場合)

属性名
BorderColor 線の色。テキストアノテーションのForeColorと同じ。
TopField 上欄のテキスト。1行の長さは12バイトまで。2行まで指定可。
BottomField 下欄のテキスト。1行の長さは12バイトまで。2行まで指定可。
DateStyle 日付設定。以下の何れか。
自動
手動
BasisYearStyle 基準年設定。
する
しない
BasisYear 日付設定の基準年。1~9999。「基準年設定」が「する」の時のみ有効。
DateField_FirstChar 日付欄の先頭1文字。
YearField 日付欄の年。「日付設定」が「手動」の時のみ有効。
MonthField 日付欄の月。「日付設定」が「手動」の時のみ有効。
DayField 日付欄の日。「日付設定」が「手動」の時のみ有効。
DateFormat 日付の書式設定。以下の何れか。「日付設定」が「自動」の時のみ有効。
yy.mm.dd
yy.m.d
dd.mmm.yy
dd.mmm.yyyy
DateOrder 年月日の表示順。以下の何れか。「日付設定」が「手動」の時のみ有効。
年月日
日月年
StampDate 日付印の日付。YearField, MonthField, DayFieldを日付形式(yyyy/MM/dd)にしたもの。
YearField, MonthField, DayField の組み合わせが日付と認識できない時は、DateTime型の初期値(0001/01/01)となる。

リンクアノテーション(AnnotationTypeがリンクの場合)

属性名
Caption リンクボタンのタイトル。
ShowIcon アイコンの表示。以下の何れか。
する
しない
Invisible リンクボタンの表示。以下の何れか。
する
しない
AutoResize 自動サイズ調整。以下の何れか。
する
しない
Tooltip ツールチップの表示。以下の何れか。
する
しない
Tooltip_String ツールチップ。最大255バイト。
LinkType リンクの種類。以下の何れか。
このファイル
他のDocuWorksファイル
URL
他のファイル
メールアドレス
Url URL。最大255バイト。
XdwPath DocuWorksファイルのパス。最大255バイト。
XdwPath_Relative DocuWorksファイルのパスのタイプ。以下の何れか。
絶対
相対
XdwLink リンク先の指定。以下の何れか。
ページ
リンクアノテーション
PageFrom リンク先ページの指定。以下の何れか。
DocuWorks文書
バインダー通し
内部DocuWorks文書
XdwNameInXbd リンク先の内部DocuWorksドキュメント名。「リンク先ページの指定」が「内部DocuWorks文書指定」の時のみ有効。
XdwPage リンク先のDocuWorksファイルのページ番号。バインダーの場合は通しページ番号。
LinkAtn_Title リンクアノテーションのタイトル。最大255バイト。
OtherFilePath その他のファイルのパス。最大255バイト。絶対パスに変換した時に255バイト以内である必要がある。「リンクの種類」が「他のファイル」の時のみ有効。
OtherFilePath_Relative その他のファイルのパスのタイプ。以下の何れか。
絶対
相対
MailAddress メールアドレス。最大255バイト。
FontName フォント名。
FontStyleItalic フォントスタイル(イタリック)。以下の何れか。
する
しない
FontStyleBold フォントスタイル(ボールド)。以下の何れか。
する
しない
FontStyleUnderline フォントスタイル(下線)。以下の何れか。
する
しない
FontStyleStrikeOut フォントスタイル(打ち消し線)。以下の何れか。
する
しない
FontSize フォントサイズ。小数点第1位まで有効。
単位: ポイント
ForeColor 文字色。テキストアノテーションのForeColorと同じ。

付箋アノテーション(AnnotationTypeが付箋の場合)

属性名
FillColorFusen 背景色。以下の何れか。未定義の場合はカラーコード(16進文字列で6文字)。
赤
青
黄
緑
淡赤
淡青
淡黄
淡緑
白
AutoResize 自動サイズ調整。以下のいずれか。
する
しない

直線アノテーション(AnnotationTypeが直線の場合)

属性名
BorderWidth 線の太さ。1~30の整数。
BorderColor 線の色。テキストアノテーションのForeColorと同じ。
BorderTransparent 線の透過。以下の何れか。
する
しない
ArrowheadType 直線の矢印の種類。以下の何れか。
なし
始点のみ
終点のみ
両方
ArrowheadStyle 直線の矢印のスタイル。
広いかさ
かさ
塗りつぶし
BorderType 線の種類。
実線
点線
破線
一点鎖線
二重線
HorVec 水平移動量。
単位 : mm
VerVec 垂直移動量。
単位 : mm

矩形アノテーション(AnnotationTypeが矩形の場合)

属性名
BorderStyle 線の表示。以下の何れか。
する
しない
BorderWidth 線の太さ。1~30の整数。
BorderColor 線の色。テキストアノテーションのForeColorと同じ。
FillStyle 塗りつぶし。以下の何れか。
する
しない
FillColor 塗りつぶしの色。テキストアノテーションのForeColorと同じ。
FillTransparent 塗りつぶしの透過。以下の何れか。
する
しない

楕円アノテーション(AnnotationTypeが楕円の場合)

属性名
BorderStyle 線の表示。以下の何れか。
する
しない
BorderWidth 線の太さ。1~30の整数。
BorderColor 線の色。テキストアノテーションのForeColorと同じ。
FillStyle 塗りつぶし。以下の何れか。
する
しない
FillColor 塗りつぶしの色。テキストアノテーションのForeColorと同じ。
FillTransparent 塗りつぶしの透過。以下の何れか。
する
しない

フリーハンド/マーカーアノテーション(AnnotationTypeがマーカーの場合)

属性名
BorderColor 線の色。テキストアノテーションのForeColorと同じ。
BorderWidth 線の太さ。1~30の整数。
BorderTransparent 線の透過。以下の何れか。
する
しない

多角形/折れ線アノテーション(AnnotationTypeが多角形の場合)

属性名
BorderStyle 線の表示。以下の何れか。
する
しない
BorderWidth 線の太さ。1~30の整数。
BorderColor 線の色。テキストアノテーションのForeColorと同じ。
Close 終端を閉じて多角形にするか、閉じないで折れ線にする。(折れ線はDocuWorks9以降で使用可。) 以下の何れか。
折れ線
多角形
FillStyle 塗りつぶし。以下の何れか。
する
しない
FillColor 塗りつぶしの色。テキストアノテーションのForeColorと同じ。
FillTransparent 塗りつぶしの透過。以下の何れか。
する
しない
ArrowheadType 直線の矢印の種類。以下の何れか。
なし
始点のみ
終点のみ
両方
ArrowheadStyle 直線の矢印のスタイル。
広いかさ
かさ
塗りつぶし