HELP

共通マクロ書式

DocuWorks 書式

NAME 文書情報取得
FORMAT {%DW_DOCUMENT_INFO(XDW文書オープン処理名,結果格納用ユーザーデータ名)}

文書情報を取得します。XDW文書オープンでオープンされている文書の文書情報を取得します。結果格納用ユーザーデータ名には取得した情報を格納するユーザーデータ名を指定します。

結果格納用ユーザーデータの内容

名前
Pages 文書内の総ページ数。バインダの場合はバインダ内の全文書のページ数合計。
Version DocuWorksファイルのバージョン。
ファイルバージョン 対応するDocuWorksのバージョン
4 1.0以降
5 2.0以降
6 3.0以降
7 4.0以降
8 5.0以降
9 6.0以降
10 7.0以降
11 8.0以降
OriginalData オリジナルデータの数。バインダの場合はバインダ内の全文書のオリジナルデータ数合計。
DocType ドキュメントタイプ。以下の何れか。
ドキュメント
バインダー
Permission 認可情報。以下の何れか。複数設定されている場合は、「文書の編集|アノテーションの編集」のように|で区切られて取得される。
文書の編集
アノテーションの編集
印刷
転記
ShowAnnotations アノテーションの表示状態。以下の何れか。
非表示
表示
Documents バインダー内の文書数。バインダーの場合のみ意味のある値として取得される。
BinderColor バインダーの色。以下の何れか。バインダーの場合のみ取得される。
紺
緑
青
黄
オレンジ
赤
赤紫
ピンク
紫
茶
オリーブ
黄緑
水
クリーム
灰
白
BinderSize バインダーのサイズ。以下の何れか。バインダーの場合のみ取得される。
ページ最大サイズ
A3縦
A3横
A4縦
A4横
A5縦
A5横
B4縦
B4横
B5縦
B5横
例1
文書オープン1でオープンされたXDW文書から文書情報を取得する。
{%DW_DOCUMENT_INFO(XDW文書オープン1,DocInfo)}
{%WRITE_LOG(
Pages={%GET_USER_DATA(DocInfo,Pages)}
Version={%GET_USER_DATA(DocInfo,Version)}
OriginalData={%GET_USER_DATA(DocInfo,OriginalData)}
DocType={%GET_USER_DATA(DocInfo,DocType)}
Permission={%GET_USER_DATA(DocInfo,Permission)}
ShowAnnotations={%GET_USER_DATA(DocInfo,ShowAnnotations)}
Documents={%GET_USER_DATA(DocInfo,Documents)}
BinderColor={%GET_USER_DATA(DocInfo,BinderColor)}
BinderSize={%GET_USER_DATA(DocInfo,BinderSize)}
)}

結果
Pages=2
Version=7
OriginalData=0
DocType=ドキュメント
Permission=文書の編集|アノテーションの編集|印刷|転記
ShowAnnotations=表示
Documents=0
BinderColor=
BinderSize=
例2
文書オープン1でオープンされたバインダ文書から文書情報を取得する。
{%DW_DOCUMENT_INFO(XDW文書オープン1,DocInfo)}
{%WRITE_LOG(
Pages={%GET_USER_DATA(DocInfo,Pages)}
Version={%GET_USER_DATA(DocInfo,Version)}
OriginalData={%GET_USER_DATA(DocInfo,OriginalData)}
DocType={%GET_USER_DATA(DocInfo,DocType)}
Permission={%GET_USER_DATA(DocInfo,Permission)}
ShowAnnotations={%GET_USER_DATA(DocInfo,ShowAnnotations)}
Documents={%GET_USER_DATA(DocInfo,Documents)}
BinderColor={%GET_USER_DATA(DocInfo,BinderColor)}
BinderSize={%GET_USER_DATA(DocInfo,BinderSize)}
)}

結果
Pages=2
Version=7
OriginalData=0
DocType=バインダー
Permission=文書の編集|アノテーションの編集|印刷|転記
ShowAnnotations=表示
Documents=2
BinderColor=黄
BinderSize=ページ最大サイズ
NAME バインダー内文書情報取得
FORMAT {%DW_DOCUMENT_INFO_IN_BINDER(XBD文書オープン処理名,結果格納用ユーザーデータ名)}

バインダー内の文書情報を取得します。XBD文書オープンでオープンされているバインダー内の文書情報を取得します。結果格納用ユーザーデータ名には取得した情報を格納するユーザーデータ名を指定します。

本マクロはバインダー以外のファイルに対して実行するとエラーとなります。

結果格納用ユーザーデータの内容は、DW_DOCUMENT_INFOで取得される情報に加え、以下の情報がセットされます。

第2キー 名前
文書番号(1~) DocumentName 文書内の文書名。
第2キー 第3キー 名前
文書番号(1~) SerialPageNumber 文書のページ番号(1~) バインダーの通しページ番号
例1
文書オープン1でオープンされたバインダ文書から文書情報を取得する。
{%DW_DOCUMENT_INFO_IN_BINDER(XBD文書オープン1,DocInfo)}

{%LOOP L1 {%GET_USER_DATA_COUNT(DocInfo)}(
  {%WRITE_LOG(DocumentName:{%GET_U(DocInfo,[L_IDX(L1)],DocumentName)})}
  {%WRITE_LOG(Pages:{%GET_U(DocInfo,[L_IDX(L1)],Pages)})}
  {%WRITE_LOG(Version:{%GET_U(DocInfo,[L_IDX(L1)],Version)})}

  {%WRITE_LOG(ページ1のバインダー通し番号:{%GET_U(DocInfo,[L_IDX(L1)],SerialPageNumber,1)})}
)}

結果
DocumentName:文書1.xdw
Pages:2
Version:9
ページ1のバインダー通し番号:1
DocumentName:文書2.xdw
Pages:1
Version:9
ページ1のバインダー通し番号:3
NAME ページ情報取得
FORMAT1 {%DW_PAGE_INFO(XDW文書オープン処理名,結果格納用ユーザーデータ名)}
FORMAT2 {%DW_PAGE_INFO(#Page,XDW文書オープン処理名,ページ,結果格納用ユーザーデータ名)}

ページ情報を取得します。XDW文書オープンでオープンされている文書から、引き数で指定されたページの情報を取得します。ページを省略した場合はページの繰り返し処理の現在のページが対象となります。結果格納用ユーザーデータ名には取得した情報を格納するユーザーデータ名を指定します。

本マクロはXDW文書のページの繰り返し処理の中のマクロ実行に記述してください。(ページを省略した場合)

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

結果格納用ユーザーデータの内容

キー
Width ページの横幅。
単位 : mm 小数第2位まで有効
Height ページの縦幅。
単位 : mm 小数第2位まで有効
PageType ページの種類。以下の何れか。
イメージ
アプリケーション
新規作成
HorRes 水平方向の解像度。ページタイプが新規作成の場合は意味を持たない。
単位 : dpi
VerRes 垂直方向の解像度。ページタイプが新規作成の場合は意味を持たない。
単位 : dpi
CompressType 圧縮方式。以下の何れか。ページタイプがアプリケーション、新規作成の場合は意味を持たない。
標準
劣化無圧縮
劣化有高画質JPEG
劣化有高圧縮JPEG
圧縮なし
外部JPEG
PACKBITS
G4
劣化有標準MRC
劣化有高画質MRC
劣化有高圧縮MRC
外部MRC
JPEG_TTN2
Annotations ページ内のアノテーションの数。
Degree 回転角度。以下の何れか。ページタイプが新規作成の場合は意味を持たない。
0度
90度
180度
270度
OrgWidth 元データのページの横幅。不明な場合は0。ページタイプが新規作成の場合は意味を持たない。
単位 : mm 小数第2位まで有効
OrgHeight 元データのページの縦幅。不明な場合は0。ページタイプが新規作成の場合は意味を持たない。
単位 : mm 小数第2位まで有効
OrgHorRes 元データの水平方向の解像度。不明な場合は0。ページタイプが新規作成の場合は意味を持たない。
単位 : dpi
OrgVerRes 元データの垂直方向の解像度。不明な場合は0。ページタイプが新規作成の場合は意味を持たない。
単位 : dpi
ImageWidth 元データの水平方向のピクセル数。ページタイプがアプリケーション、新規作成の場合は意味を持たない。
ImageHeight 元データの垂直方向のピクセル数。ページタイプがアプリケーション、新規作成の場合は意味を持たない。
例1
文書オープン1でオープンされたXDW文書の現在のページからページ情報を取得する。
{%DW_PAGE_INFO(XDW文書オープン1,PageInfo)}
{%WRITE_LOG(
Width={%GET_USER_DATA(PageInfo,Width)}
Height={%GET_USER_DATA(PageInfo,Height)}
PageType={%GET_USER_DATA(PageInfo,PageType)}
HorRes={%GET_USER_DATA(PageInfo,HorRes)}
VerRes={%GET_USER_DATA(PageInfo,VerRes)}
CompressType={%GET_USER_DATA(PageInfo,CompressType)}
Annotations={%GET_USER_DATA(PageInfo,Annotations)}
Degree={%GET_USER_DATA(PageInfo,Degree)}
OrgWidth={%GET_USER_DATA(PageInfo,OrgWidth)}
OrgHeight={%GET_USER_DATA(PageInfo,OrgHeight)}
OrgHorRes={%GET_USER_DATA(PageInfo,OrgHorRes)}
OrgVerRes={%GET_USER_DATA(PageInfo,OrgVerRes)}
ImageWidth={%GET_USER_DATA(PageInfo,ImageWidth)}
ImageHeight={%GET_USER_DATA(PageInfo,ImageHeight)}
)}


結果
Width=210
Height=297
PageType=イメージ
HorRes=204
VerRes=204
CompressType=劣化無圧縮
Annotations=3
Degree=0度
OrgWidth=215.16
OrgHeight=293.93
OrgHorRes=204
OrgVerRes=98
ImageWidth=1728
ImageHeight=1134
NAME ページカラー情報取得
FORMAT1 {%DW_PAGE_COLOR_INFO(XDW文書オープン処理名,結果格納用ユーザーデータ名)}
FORMAT2 {%DW_PAGE_COLOR_INFO(#Page,XDW文書オープン処理名,ページ,結果格納用ユーザーデータ名)}

ページカラー情報を取得します。XDW文書オープンでオープンされている文書から、引き数で指定されたページのカラー情報を取得します。ページを省略した場合はページの繰り返し処理の現在のページが対象となります。結果格納用ユーザーデータ名には取得した情報を格納するユーザーデータ名を指定します。

ページカラー情報の取得はページの属性情報取得に比べて、遅いです。場合によっては1秒以上かかる場合があります。

本マクロはXDW文書のページの繰り返し処理の中のマクロ実行に記述してください。(ページを省略した場合)

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

結果格納用ユーザーデータの内容

キー
Color ページのカラー。以下の何れか。
白黒
カラー
ImageDepth ピクセル当たりのビット数。イメージから作成されたページでない場合は0となる。
例1
文書オープン1でオープンされたXDW文書の現在のページからページカラー情報を取得する。
{%DW_PAGE_COLOR_INFO(XDW文書オープン1,PageColorInfo)}
{%WRITE_LOG(
Color={%GET_USER_DATA(PageColorInfo,Color)}
ImageDepth={%GET_USER_DATA(PageColorInfo,ImageDepth)}
)}


結果
Color=白黒
ImageDepth=1
NAME ページループカウンタ取得
FORMAT {%DW_GET(PageLoopCount)}

処理中ページのカウンタを取得します。本マクロはページの繰り返しの中で使用できます。

例1
処理中ページのカウンタを取得します。以下の例は、ページの繰り返し処理で、3ページ番目を処理した場合のログ結果です。
{%WRITE_LOG({%DW_GET(PageLoopCount)})}
結果
3
NAME ページ数取得
FORMAT {%DW_GET(PageCount)}

処理中ファイルのページ数を取得します。本マクロはページの繰り返しの中で使用できます。ページの繰り返し処理パネルでは使用できません。DW_DOCUMENT_INFOのPagesを参照してください。

例1
処理中ファイルのページ数を取得します。以下の例は、オープン中のXDWファイルのページ数が5の場合のログ結果です。
{%WRITE_LOG({%DW_GET(PageCount)})}
結果
5
NAME ページ幅取得
FORMAT {%DW_GET(PageWidth)}

ページの幅(mm)を取得します。本マクロはページの繰り返しの中で使用できます。ページの繰り返し処理パネルでは使用できません。DW_PAGE_INFOのWidthを参照してください。

例1
処理中ファイルのページの幅を取得します。以下の例は、オープン中のXDWファイルのカレントページの幅を取得します。
{%WRITE_LOG(幅:{%DW_GET(PageWidth)})}
結果
幅:210
NAME ページ高さ取得
FORMAT {%DW_GET(PageHeight)}

ページの高さ(mm)を取得します。本マクロはページの繰り返しの中で使用できます。ページの繰り返し処理パネルでは使用できません。DW_PAGE_INFOのHeightを参照してください。

例1
処理中ファイルのページの高さを取得します。以下の例は、オープン中のXDWファイルのカレントページの高さを取得します。
{%WRITE_LOG(高さ:{%DW_GET(PageHeight)})}
結果
高さ:297
NAME XDW文書オープン処理名取得
FORMAT {%DW_GET(OpenName)}

現在オープンされているXDW文書オープン処理名を取得します。同時に複数オープンされている場合は最後にオープンされたXDW文書オープン処理名を取得します。

例1
オープン中のXDW文書処理名を使って、文書属性を設定する。
{%DW_SET_DOCUMENT_ATTRIBUTE({%DW_GET(OpenName)},処理日,{%DATE(yyyy/MM/dd)},Date)}
NAME 用紙サイズ取得
FORMAT {%DW_GET_PAPER_SIZE(幅,高さ,誤差範囲[,用紙サイズ定義ファイル])}

用紙サイズを返却します。

引数の幅、高さには用紙の幅と高さを指定します。誤差範囲には、幅と高さの誤差の範囲をしていします。すべてミリ単位で指定します。
通常は幅と高さには、ページ幅取得マクロ({%DW_GET(PageWidth)})、ページ高さ取得マクロ({%DW_GET(PageHeight)})又は、DW_GET_PAGE_INFOマクロで取得したページや元データの幅や高さを指定します。

返却される用紙サイズは、A0~A6,B0~B6,該当なしの何れかになります。用紙サイズの後ろに縦、及び横の文字がカンマ区切りで付加されて返却されます。
例えば、用紙サイズがA4縦の場合には、「A4,縦」という文字が返却されます。定義済の用紙サイズの何れにも該当しない場合は、「該当なし」という文字が返却されます。

用紙の判定は、引き数の用紙サイズ定義ファイルを省略した場合、インストールフォルダにあるPaperSize.iniに記述されている数値を基に行われます。用紙サイズの定義を変更したい場合は、PaperSize.iniをユーザーフォルダ等にコピーして変更してください。コピーしたファイルのパスを引数の用紙サイズ定義ファイルに指定します。

例1
処理中ページの用紙サイズと向きを表示する。(±10ミリを誤差の許容範囲とする。)
{%IF({%DW_GET_PAPER_SIZE({%DW_GET(PageWidth)},{%DW_GET(PageHeight)},10)}=該当なし,
  {%SET_U(属性,用紙サイズ,該当なし)}
,
  {%SPLIT({%DW_GET_PAPER_SIZE({%DW_GET(PageWidth)},{%DW_GET(PageHeight)},10)},|,,用紙情報)}
  {%SET_U(属性,用紙サイズ,{%GET_U(用紙情報,1)})}
  {%SET_U(属性,用紙向き,{%GET_U(用紙情報,2)})}
)}

{%WRITE_LOG(用紙サイズ:{%GET_U(属性,用紙サイズ)})}
{%WRITE_LOG(用紙向き:{%GET_U(属性,用紙向き)})}
NAME 文書属性設定
FORMAT {%DW_SET_DOCUMENT_ATTRIBUTE(XDW文書オープン処理名,属性名,属性値[,型])}

XDW文書オープン処理名で指定されたDocuWorks文書に、文書属性を設定します。

属性名は、255文字以内で指定してください。 属性値は、指定した型に適した文字列を指定します。型に適合しない文字列を指定した場合は、エラーとなります。

型には、"Integer" (数値型), "String" (文字列型)[既定値], "Date" (日付型), "Bool" (真偽値型)の何れかが指定できます。 型が、日付型の場合は、「YYYY/MM/DD」の様に、年/月/日のフォーマットで指定します。 真偽値型では、「TRUE」(有)又は、「FALSE」(無)を指定します。

型は省略可能です。省略した場合には、文字列型が選択されます。

属性名に以下の名前を指定した場合は、概要タブの各項目を設定できます。

名前 内容
%Title タイトル
%Subject サブタイトル
%Author 作成者
%Keywords キーワード
%Comments コメント
例1
1番目に取得したQRコードの内容を「文書名」という属性名で文書属性に設定する。
{%DW_SET_DOCUMENT_ATTRIBUTE(XDW文書オープン1,文書名,{%GET_U(QRコード読み取り1,1,Data)})}
例2
システム日付を「処理日」という属性名で文書属性に設定する。
{%DW_SET_DOCUMENT_ATTRIBUTE(XDW文書オープン1,処理日,{%DATE(yyyy/MM/dd)},Date)}
例3
概要のタイトルに「サンプル」を設定する。
{%DW_SET_DOCUMENT_ATTRIBUTE(XDW文書オープン1,%Title,サンプル)}
NAME 文書属性取得
FORMAT {%DW_GET_DOCUMENT_ATTRIBUTE(XDW文書オープン処理名,属性名)}

XDW文書オープン処理名で指定されたDocuWorks文書から、文書属性を取得します。

属性名は、255文字以内で指定してください。

属性名に以下の名前を指定した場合は、概要タブの各項目を取得できます。

名前 内容
%Title タイトル
%Subject サブタイトル
%Author 作成者
%Keywords キーワード
%Comments コメント

属性名に存在しない名前を指定した場合はエラーになります。エラーとしたくない場合は、文書属性存在チェックを使って、存在する場合に取得するようにしてください。

例1
「文書名」という属性名で文書属性から値を取得する。
{%WRITE_LOG({%DW_GET_DOCUMENT_ATTRIBUTE(XDW文書オープン1,文書名)})}
例2
概要のタイトルから値を取得する。
{%WRITE_LOG({%DW_GET_DOCUMENT_ATTRIBUTE(XDW文書オープン1,%Title)})}
NAME 文書属性存在チェック
FORMAT {%DW_EXISTS_DOCUMENT_ATTRIBUTE(XDW文書オープン処理名,属性名)}

属性名で指定された文書属性の存在チェックを行います。

指定した属性が存在する場合は、Trueを、存在しない場合はFalseを返却します。

文書属性「処理日」が存在する場合は、ログに「属性あり」を出力する。
{%DW_SET_DOCUMENT_ATTRIBUTE(XDW文書オープン1,処理日,{%DATE(yyyy/MM/dd)},Date)}
{%IF({%DW_EXISTS_DOCUMENT_ATTRIBUTE(XDW文書オープン1,処理日)}=True,
  {%WRITE_LOG(属性あり)}
,
  {%WRITE_LOG(属性なし)}
)}

結果 属性あり
NAME 文書属性削除
FORMAT {%DW_DELETE_DOCUMENT_ATTRIBUTE(XDW文書オープン処理名,属性名)}

属性名で指定された文書属性を削除します。

文書属性「FAX番号」を削除する。
{%DW_DELETE_DOCUMENT_ATTRIBUTE(XDW文書オープン1,FAX番号)}
NAME 全ての文書属性削除
FORMAT {%DW_DELETE_ALL_DOCUMENT_ATTRIBUTE(XDW文書オープン処理名[,Summary])}

全ての文書属性を削除します。

Summaryを指定すると概要の属性も削除対象となります。

例1
#概要を除く全てのユーザー定義の文書属性を削除
{%DW_DELETE_ALL_DOCUMENT_ATTRIBUTE(XDW文書オープン1)}
例2
#概要とユーザー定義の文書属性を削除
{%DW_DELETE_ALL_DOCUMENT_ATTRIBUTE(XDW文書オープン1,Summary)}
NAME ユーザーデータからの文書属性設定
FORMAT {%DW_SET_ALL_DOCUMENT_ATTRIBUTE(XDW文書オープン処理名,ユーザーデータ名)}

ユーザーデータにセットされた属性情報を文書属性に設定します。

ユーザーデータには、属性として登録したいキーと値をセットします。型の指定は、末尾に「_Type」を付与したキーに、"Integer" (数値型), "String" (文字列型)[既定値], "Date" (日付型), "Bool" (真偽値型)の何れかをセットします。

概要タブの項目を指定したい場合は、キーに%で始まる識別キーをセットします。識別キーの詳細は、文書属性取得マクロの説明を参照してください。

例1
#型を指定する場合
{%SET_U(文書属性,見積もり番号,1)}
{%SET_U(文書属性,見積もり番号_Type,Integer)}
{%DW_SET_ALL_DOCUMENT_ATTRIBUTE(XDW文書オープン1,文書属性)}
例2
#型を指定しない場合は文字列で登録される。
{%SET_U(文書属性,FAX番号,03-5555-0000)}
{%DW_SET_ALL_DOCUMENT_ATTRIBUTE(XDW文書オープン1,文書属性)}
例3
#概要文書属性の場合は定義されたキーワードをキーに指定する。
#型は指定しても無視される。
{%SET_U(文書属性,%Title,見積もり書)}
{%DW_SET_ALL_DOCUMENT_ATTRIBUTE(XDW文書オープン1,文書属性)}
NAME 全ての文書属性をユーザーデータにセット
FORMAT {%DW_GET_ALL_DOCUMENT_ATTRIBUTE(XDW文書オープン処理名,ユーザーデータ名[,Summary])}

全ての文書属性を取得してユーザーデータにセットします。

以下の様な構造でセットされます。

指定したユーザーデータ名
  属性名       属性値
  属性名_Type  属性の型
  属性名       属性値
  属性名_Type  属性の型
  ・
  ・

既にユーザーデータが存在する場合は取得データで上書きします。

Summaryを指定すると概要の属性も取得対象となります。

例1
ユーザーデータにセットされた属性値と属性の型をログに出力
#概要を除く全属性
{%DW_GET_ALL_DOCUMENT_ATTRIBUTE(XDW文書オープン1,文書属性)}
{%WRITE_LOG(FAX番号:{%GET_U(文書属性,FAX番号)})}
{%WRITE_LOG(FAX番号_Type:{%GET_U(文書属性,FAX番号_Type)})}
例2
ユーザーデータにセットされた属性値と属性の型をログに出力(概要を含む)
#概要を含む全属性
{%DW_GET_ALL_DOCUMENT_ATTRIBUTE(XDW文書オープン1,文書属性,Summary)}
{%WRITE_LOG(FAX番号:{%GET_U(文書属性,FAX番号)})}
{%WRITE_LOG(FAX番号_Type:{%GET_U(文書属性,FAX番号_Type)})}
{%WRITE_LOG(%Title:{%GET_U(文書属性,%Title)})}
{%WRITE_LOG(%Title_Type:{%GET_U(文書属性,%Title_Type)})}
{%WRITE_LOG(%Subject:{%GET_U(文書属性,%Subject)})}
{%WRITE_LOG(%Subject_Type:{%GET_U(文書属性,%Subject_Type)})}
{%WRITE_LOG(%Author:{%GET_U(文書属性,%Author)})}
{%WRITE_LOG(%Author_Type:{%GET_U(文書属性,%Author_Type)})}
{%WRITE_LOG(%Keywords:{%GET_U(文書属性,%Keywords)})}
{%WRITE_LOG(%Keywords_Type:{%GET_U(文書属性,%Keywords_Type)})}
{%WRITE_LOG(%Comments:{%GET_U(文書属性,%Comments)})}
{%WRITE_LOG(%Comments_Type:{%GET_U(文書属性,%Comments_Type)})}
例3
「お問い合わせ番号 + 番号」で始まる属性を全て削除
#すべての文書属性を取得
{%DW_GET_ALL_DOCUMENT_ATTRIBUTE({%DW_GET(OpenName)},文書属性)}

#すべての文書属性の繰り返し
{%LOOP L1 {%GET_USER_DATA_COUNT(文書属性)}(
  {%SET_U(属性,属性名,{%GET_USER_DATA_KEY_BY_NUMBER(文書属性,[L_IDX(L1)])})}

  {%IF({%REGEX_CAPTURE(^(お問い合わせ番号\d+)$,{%GET_U(属性,属性名)})}!=,
    #「お問い合わせ番号 + 番号」に合致する属性名の場合
    #属性を削除
    {%DW_DELETE_DOCUMENT_ATTRIBUTE({%DW_GET(OpenName)},{%GET_U(属性,属性名)})}
  ,)}
)}
NAME 文書属性のコピー
FORMAT {%DW_COPY_ATTRIBUTE(XDW文書オープン処理名,コピー元XDW文書ファイル名,対象(Summary|User))}

処理中のXDW文書に引数で指定したXDW文書から文書属性をコピーします。

2番目の引き数にSummaryを指定すると文書属性の概要がコピーされます。Userを指定するとユーザー定義属性がコピーされます。Summary|Userを指定すると両方がコピーされます。

処理中のXDW文書に「D:\Home\temp\moto.xdw」の文書から文書属性の概要とユーザー定義属性をコピーする。
{%DW_COPY_ATTRIBUTE(XDW文書オープン1,D:\Home\temp\moto.xdw,Summary|User)}
NAME ページユーザー属性設定
FORMAT1 {%DW_SET_PAGE_USER_ATTRIBUTE(XDW文書オープン処理名,属性名,値)}
FORMAT2 {%DW_SET_PAGE_USER_ATTRIBUTE(#Page,XDW文書オープン処理名,ページ,属性名,値)}

XDW文書オープン処理名で指定されたDocuWorks文書に、ページユーザー属性を設定します。

属性名は、255文字以内で指定してください。

ページを省略した場合はページの繰り返し処理の現在のページが対象となります。従って、ページの繰り返し処理の中に記述してください。

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

属性名と値は、SJISで表現可能な文字のみ設定可能です。UNICODE特有の文字をセットすると文字化けします。

ページユーザー属性は、APIでのみ取得・設定が可能な属性で、DocuWorksViewer,Deskからは操作できません。

例1
1番目に取得したQRコードの内容を「図面名」という属性名でページユーザー属性に設定する。
{%DW_SET_PAGE_USER_ATTRIBUTE(XDW文書オープン1,図面名,{%GET_U(QRコード読み取り1,1,Data)})}
例2
1番目に取得したQRコードの内容を「図面名」という図面名でページユーザー属性に設定する。(ページ指定)
{%DW_SET_PAGE_USER_ATTRIBUTE(#Page,XDW文書オープン1,1,図面名,{%GET_U(QRコード読み取り1,1,Data)})}
NAME ページユーザー属性取得
FORMAT1 {%DW_GET_PAGE_USER_ATTRIBUTE(XDW文書オープン処理名,属性名)}
FORMAT2 {%DW_GET_PAGE_USER_ATTRIBUTE(#Page,XDW文書オープン処理名,ページ,属性名)}

XDW文書オープン処理名で指定されたDocuWorks文書から、ページユーザー属性を取得します。

属性名は、255文字以内で指定してください。

ページを省略した場合はページの繰り返し処理の現在のページが対象となります。従って、ページの繰り返し処理の中に記述してください。

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

属性名に存在しない名前を指定した場合は、エラーとならず空文字が返却されます。

ページユーザー属性は、APIでのみ取得・設定が可能な属性で、DocuWorksViewer,Deskからは操作できません。

例1
「図面名」という属性名でページユーザー属性から値を取得する。
{%WRITE_LOG({%DW_GET_PAGE_USER_ATTRIBUTE(XDW文書オープン1,図面名)})}
例2
「図面名」という属性名でページユーザー属性から値を取得する。(ページ指定)
{%WRITE_LOG({%DW_GET_PAGE_USER_ATTRIBUTE(#Page,XDW文書オープン1,1,図面名)})}
NAME ページユーザー属性削除
FORMAT1 {%DW_DELETE_PAGE_USER_ATTRIBUTE(XDW文書オープン処理名,属性名)}
FORMAT2 {%DW_DELETE_PAGE_USER_ATTRIBUTE(#Page,XDW文書オープン処理名,ページ,属性名)}

XDW文書オープン処理名で指定されたDocuWorks文書から、ページユーザー属性を削除します。

属性名は、255文字以内で指定してください。

ページを省略した場合はページの繰り返し処理の現在のページが対象となります。従って、ページの繰り返し処理の中に記述してください。

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

ページユーザー属性は、APIでのみ取得・設定が可能な属性で、DocuWorksViewer,Deskからは操作できません。

例1
ページユーザー属性から「図面名」を削除する。
{%DW_DELETE_PAGE_USER_ATTRIBUTE(XDW文書オープン1,図面名)}
例2
ページユーザー属性から「図面名」を削除する。(ページ指定)
{%DW_DELETE_PAGE_USER_ATTRIBUTE(#Page,XDW文書オープン1,1,図面名)}
NAME ページのノイズ除去
FORMAT1 {%DW_REDUCE_PAGE_NOISE(XDW文書オープン処理名,強さ(Normal|Weak|Strong))}
FORMAT2 {%DW_REDUCE_PAGE_NOISE(#Page,XDW文書オープン処理名,ページ,強さ(Normal|Weak|Strong))}

ページのノイズ除去を行います。強さにはNormal(普通),Weak(弱),Strong(強)の何れかが指定可能です。

ページを省略した場合はページの繰り返し処理の現在のページが対象となります。従って、ページの繰り返し処理の中に記述してください。

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

白黒のXDW文書のみ処理可能です。

例1
処理中ページのノイズ除去を行います。この処理はDWページの繰り返しの中に記述してください。
{%DW_REDUCE_PAGE_NOISE(XDW文書オープン1,Normal)}
NAME ページの回転
FORMAT1 {%DW_ROTATE_PAGE(XDW文書オープン処理名,角度(90|180|270))}
FORMAT2 {%DW_ROTATE_PAGE(#Page,XDW文書オープン処理名,ページ,角度(90|180|270))}

ページの回転(時計回り)を行います。角度には90 , 180 , 270 の何れかが指定可能です。

ページを省略した場合はページの繰り返し処理の現在のページが対象となります。従って、ページの繰り返し処理の中に記述してください。

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

アノテーションが貼られている場合はエラーとなります。(DocuWorks Viewerでは、アノテーションが貼られていても回転可能になりましたが、DocuWorksAPIを使った回転は未対応なので、エラーとなります。)

例1
処理中ページを90度回転します。この処理はDWページの繰り返しの中に記述してください。
{%DW_ROTATE_PAGE(XDW文書オープン1,90)}
NAME ページの自動正立
FORMAT1 {%DW_ROTATE_PAGE_AUTO(XDW文書オープン処理名)}
FORMAT2 {%DW_ROTATE_PAGE_AUTO(#Page,XDW文書オープン処理名,ページ)}

ページの自動正立を行います。

ページを省略した場合はページの繰り返し処理の現在のページが対象となります。従って、ページの繰り返し処理の中に記述してください。

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

対象の文書がアプリケーション文書の場合はエラーとなります。イメージ文書(スキャンした文書など)を対象にしてください。また、アノテーションが貼られている場合はエラーとなります。

例1
処理中ページを自動正立します。この処理はDWページの繰り返しの中に記述してください。
{%DW_ROTATE_PAGE_AUTO(XDW文書オープン1)}
NAME ページの削除
FORMAT {%DW_DELETE_PAGE(XDW文書オープン処理名,ページ)}

XDW文書オープン処理名で指定したオープン中のDocuWorks文書の指定ページを削除します。

本マクロはXDW文書オープン処理後、又は、ページの繰り返しの中で使用できます。ページの繰り返しの中で使用する場合はページ数が動的に変化しますので、ページの繰り返し設定で繰り返し方向を「末尾から」に設定してください。

例1
XDW文書オープン1でオープンしたXDW文書の1ページを削除する。
{%DW_DELETE_PAGE(XDW文書オープン1,1)}
NAME 文書の挿入
FORMAT {%DW_INSERT_DOCUMENT(XDW文書オープン処理名,ページ,ファイル名)}

XDW文書オープン処理名で指定したオープン中のDocuWorks文書の指定ページに別のXDW文書を挿入します。文書は指定ページの前に挿入されます。また、ページに「BOTTOM」を指定すると、末尾に挿入されます。

本マクロはXDW文書オープン処理後、又は、ページの繰り返しの中で使用できます。ページの繰り返しの中で使用する場合はページ数が動的に変化しますので、ページの繰り返し設定で繰り返し方向を「末尾から」に設定してください。

例1
XDW文書オープン1でオープンしたXDW文書の2ページに「C:\Home\AppData\Desktop\scan.xdw」を挿入する。
{%DW_INSERT_DOCUMENT(XDW文書オープン1,2,C:\Home\AppData\Desktop\scan.xdw)}
例2
XDW文書オープン1でオープンしたXDW文書の末尾に「C:\Home\AppData\Desktop\scan.xdw」を挿入する。
{%DW_INSERT_DOCUMENT(XDW文書オープン1,BOTTOM,C:\Home\AppData\Desktop\scan.xdw)}
NAME ページの取り出し
FORMAT1 {%DW_EXTRACT_PAGE(XDW文書オープン処理名,出力ファイル名,[出力ファイル既存時の挙動(MergeBottom|MergeTop|SeqNo|Overwrite)][,属性のコピー(CopyAttribute|Nothing)])}
FORMAT2 {%DW_EXTRACT_PAGE(#Page,XDW文書オープン処理名,ページ,出力ファイル名,[出力ファイル既存時の挙動(MergeBottom|MergeTop|SeqNo|Overwrite)][,属性のコピー(CopyAttribute|Nothing)])}

XDW文書オープン処理名で指定したオープン中のDocuWorks文書の指定ページを、別のXDW文書に出力します。

ページを省略した場合はページの繰り返し処理の現在のページが対象となります。従って、ページの繰り返し処理の中に記述してください。

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

出力ファイル既存時の挙動は、以下が指定できます。省略すると「MergeBottom」を指定したことになります。

MergeBottom [既定値] ページを文書の末尾に束ねる。
MergeTop ページを文書の先頭に束ねる。
SeqNo ファイル名の末尾に連番を付与する。(例 Test.xdw -> Test_0001.xdw)
Overwrite ファイルを上書きする。

属性のコピーは「CopyAttribute」を指定すると出力ファイルに属性がコピーされます。「Nothing」を指定すると属性はコピーされません。省略すると「CopyAttribute」を指定したことになります。

新規ファイル、既存ファイルともに、「CopyAttribute」を指定するとユーザー属性のみコピーされます。サマリーはコピーされません。サマリーをコピーしたい場合は、DW_COPY_ATTRIBUTEマクロを使ってください。

例1
XDW文書オープン1でオープンしたXDW文書の1ページ目を「C:\Home\Temp\out.xdw」に出力する。(出力ファイルが既にある場合は末尾に束ねる。文書属性を出力ファイルにコピーする。)
{%DW_EXTRACT_PAGE(#Page,XDW文書オープン1,1,C:\Home\Temp\out.xdw)}
NAME バインダー・入れ物の展開先一時フォルダ取得
FORMAT {%DW_GET_TEMP_FOLDER_FOR_EXTRACTION(XDW文書オープン処理名)}

XDW文書オープン処理名で指定したオープン中のDocuWorks文書がバインダー、又は入れ物の場合に、ファイル内ファイルをフォルダに展開した際のフォルダパスを取得します。

本マクロはDocuWorks文書オープン処理後に使用できます。

DocuWorks文書オープン処理でオープンしたファイルがバインダー、又は入れ物の場合は、ファイルオープン時に一時フォルダにファイル内のファイルを展開します。その一時フォルダのパスを取得できます。

一時フォルダの例
C:\Users\ユーザー名\AppData\Roaming\TechnoStyle\eDocArrangement2\temp\docuworks_class\documentsInBinder~1f2c~7~0
例1
XBD文書オープン1でオープンしたXBD文書を展開した一時フォルダのパスを取得する。
{%DW_GET_TEMP_FOLDER_FOR_EXTRACTION(XBD文書オープン1)}
NAME 展開一時ファイル名から文書内ファイル名を取得
FORMAT {%DW_GET_FILENAME_INSIDE_FROM_TEMP_FILENAME(XDW文書オープン処理名,展開一時ファイル名)}

XDW文書オープン処理名で指定したオープン中のDocuWorks文書がバインダー、又は入れ物の場合に、展開した一時ファイルのファイル名から、ファイル内のファイル名を取得します。

本マクロはDocuWorks文書オープン処理後に使用できます。

DocuWorks文書オープン処理でオープンしたファイルがバインダー、又は入れ物の場合は、ファイルオープン時に一時フォルダにファイル内のファイルを展開します。その展開されたファイルが同名になる場合は連番が付与されます。文書内の元のファイル名を取得するために本マクロを使用します。

一時フォルダに展開されたファイルの例
注文書.xdw
注文書_0001.xdw
例1
XBD文書オープン1でオープンしたXBD文書内文書から展開されたファイル名から、文書内のファイル名を取得する。
{%DW_GET_FILENAME_INSIDE_FROM_TEMP_FILENAME(XBD文書オープン1,{%GET(FileName)})}

結果
展開されたファイル名が「注文書_0001.xdw」の場合、「注文書.xdw」が取得されます。
NAME 文書内ファイル番号から展開一時ファイル名を取得
FORMAT {%DW_GET_TEMP_FILENAME_BY_NUMBER(XDW文書オープン処理名,文書番号)}

XDW文書オープン処理名で指定したオープン中のDocuWorks文書がバインダー、又は入れ物の場合に、文書内ファイル番号から、展開した一時ファイルのファイル名を取得します。

本マクロはDocuWorks文書オープン処理後に使用できます。

一時フォルダに展開されたファイルの例
注文書.xdw
注文書_0001.xdw
例1
XBD文書オープン1でオープンしたXBD文書内文書番号から展開されたファイル名を取得する。
{%DW_GET_TEMP_FILENAME_BY_NUMBER(XBD文書オープン1,2)}

結果
2番目に展開されたファイル名「注文書_0001.xdw」が取得されます。
NAME 文書内ファイル番号から文書内ファイル名を取得
FORMAT {%DW_GET_FILENAME_INSIDE_BY_NUMBER(XDW文書オープン処理名,文書番号)}

XDW文書オープン処理名で指定したオープン中のDocuWorks文書がバインダー、又は入れ物の場合に、文書内ファイル番号から、文書内ファイルのファイル名を取得します。

本マクロはDocuWorks文書オープン処理後に使用できます。

文書内ファイルの例
注文書.xdw
請求書.xdw
例1
XBD文書オープン1でオープンしたXBD文書内文書番号から文書内ファイル名を取得する。
{%DW_GET_FILENAME_INSIDE_BY_NUMBER(XBD文書オープン1,2)}

結果
2番目のファイル名「請求書.xdw」が取得されます。
NAME サムネイル画像の出力
FORMAT1 {%DW_THUMBNAIL_IMAGE(XDW文書オープン処理名,出力ファイルパス)}
FORMAT2 {%DW_THUMBNAIL_IMAGE(#Page,XDW文書オープン処理名,ページ,出力ファイルパス)}

ページのサムネイル画像を出力します。ページを省略した場合はページの繰り返し処理の現在のページが対象となります。出力ファイルパスに含まれるフォルダが存在しない場合はエラーとなります。また、出力先に既に同名のファイルが存在する場合はエラーとなります。

出力ファイルパスで指定したファイルの拡張子によって画像形式が変わります。指定可能な拡張子はbmp,jpg,png,tiff,gifです。

本マクロはXDW文書のページの繰り返し処理の中のマクロ実行に記述してください。 (ページを省略した場合)

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

例1
XDW文書オープン1でオープンしたXDW文書の全てのページのサムネイル画像を出力する。画像はXDW文書と同じフォルダに作成されます。(ページの繰り返しの中に記述してください。)
{%DW_THUMBNAIL_IMAGE(XDW文書オープン1,{%GET(FolderPath)}\{%GET(FileNameWithoutExtension)}{%DW_GET(PageLoopCount)}.jpg)}
例2
XDW文書オープン1でオープンしたXDW文書の1ページのサムネイル画像を出力する。画像はXDW文書と同じフォルダに作成されます。
{%DW_THUMBNAIL_IMAGE(#Page,XDW文書オープン1,1,{%GET(FolderPath)}\{%GET(FileNameWithoutExtension)}.jpg)}
NAME Tiff画像出力
FORMAT1 {%DW_OUTPUT_TIFF_IMAGE(XDW文書オープン処理名,出力ファイル名,解像度,色(Mono|Color|MonoHighQuality),[終了ページ],圧縮タイプ(NoCompress|PackBits|Jpeg|G4))}
FORMAT2 {%DW_OUTPUT_TIFF_IMAGE(#Page,XDW文書オープン処理名,出力ファイル名,解像度,色(Mono|Color|MonoHighQuality),開始ページ,[終了ページ],圧縮タイプ(NoCompress|PackBits|Jpeg|G4))}

ページをTiff画像に変換出力します。ページを省略した場合はページの繰り返し処理の現在のページが対象となります。出力ファイルパスに含まれるフォルダが存在しない場合はエラーとなります。また、出力先に既に同名のファイルが存在する場合はエラーとなります。

本マクロはXDW文書のページの繰り返し処理の中のマクロ実行に記述してください。 (ページを省略した場合)

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

終了ページは空文字を指定すると最終ページとなります。

解像度は10~600dpiの範囲で指定できます。通常200か300を指定します。

指定可能な色はMono,Color,MonoHighQualityです。

指定可能な圧縮タイプはNoCompress,PackBits,Jpeg,G4です。

色をColorにしてA0やA0長尺の文書を変換するとdpiの値によりエラーが発生します。

これはDocuWorksの機能の限界で変換ができません。

A0 カラーは400dpiまで変換可能で、A0 長尺カラーは300dpiまで変換可能です。

例1
XDW文書オープン1でオープンしたXDW文書の全てのページを1ページ1Tiff画像で出力する。画像はXDW文書と同じフォルダに作成されます。(ページの繰り返しの中に記述してください。)
{%DW_OUTPUT_TIFF_IMAGE(XDW文書オープン1,{%GET(FolderPath)}\{%GET(FileNameWithoutExtension)}{%DW_GET(PageLoopCount)}.tif,300,Color,{%DW_GET(PageLoopCount)},PackBits)}
例2
XDW文書オープン1でオープンしたXDW文書の全ページを1つのマルチページTiff画像に出力する。画像はXDW文書と同じフォルダに作成されます。
{%DW_OUTPUT_TIFF_IMAGE(#Page,XDW文書オープン1,{%GET(FolderPath)}\{%GET(FileNameWithoutExtension)}.tif,300,Color,1,,PackBits)}
NAME Jpeg画像出力
FORMAT1 {%DW_OUTPUT_JPEG_IMAGE(XDW文書オープン処理名,出力ファイル名,解像度,色(Mono|Color|MonoHighQuality),圧縮タイプ(Normal|HighQuality|HighCompress))}
FORMAT2 {%DW_OUTPUT_JPEG_IMAGE(#Page,XDW文書オープン処理名,出力ファイル名,解像度,色(Mono|Color|MonoHighQuality),変換ページ,圧縮タイプ(Normal|HighQuality|HighCompress))}

ページをJpeg画像に変換出力します。ページを省略した場合はページの繰り返し処理の現在のページが対象となります。出力ファイルパスに含まれるフォルダが存在しない場合はエラーとなります。また、出力先に既に同名のファイルが存在する場合はエラーとなります。

本マクロはXDW文書のページの繰り返し処理の中のマクロ実行に記述してください。 (ページを省略した場合)

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

解像度は10~600dpiの範囲で指定できます。通常200か300を指定します。

指定可能な色はMono,Color,MonoHighQualityです。

指定可能な圧縮タイプはNormal,HighQuality,HighCompressです。

色をColorにしてA0やA0長尺の文書を変換するとdpiの値によりエラーが発生します。

これはDocuWorksの機能の限界で変換ができません。

A0 カラーは400dpiまで変換可能で、A0 長尺カラーは300dpiまで変換可能です。

例1
XDW文書オープン1でオープンしたXDW文書の全てのページを1ページ1Jpeg画像で出力する。画像はXDW文書と同じフォルダに作成されます。(ページの繰り返しの中に記述してください。)
{%DW_OUTPUT_JPEG_IMAGE(XDW文書オープン1,{%GET(FolderPath)}\{%GET(FileNameWithoutExtension)}{%DW_GET(PageLoopCount)}.jpg,300,Color,Normal)}
NAME Bmp画像出力
FORMAT1 {%DW_OUTPUT_BMP_IMAGE(XDW文書オープン処理名,出力ファイル名,解像度,色(Mono|Color|MonoHighQuality))}
FORMAT2 {%DW_OUTPUT_BMP_IMAGE(#Page,XDW文書オープン処理名,出力ファイル名,解像度,色(Mono|Color|MonoHighQuality),変換ページ)}

ページをBmp画像に変換出力します。ページを省略した場合はページの繰り返し処理の現在のページが対象となります。出力ファイルパスに含まれるフォルダが存在しない場合はエラーとなります。また、出力先に既に同名のファイルが存在する場合はエラーとなります。

本マクロはXDW文書のページの繰り返し処理の中のマクロ実行に記述してください。 (ページを省略した場合)

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

解像度は10~600dpiの範囲で指定できます。通常200か300を指定します。

指定可能な色はMono,Color,MonoHighQualityです。

色をColorにしてA0やA0長尺の文書を変換するとdpiの値によりエラーが発生します。

これはDocuWorksの機能の限界で変換ができません。

A0 カラーは400dpiまで変換可能で、A0 長尺カラーは300dpiまで変換可能です。

例1
XDW文書オープン1でオープンしたXDW文書の全てのページを1ページ1Bmp画像で出力する。画像はXDW文書と同じフォルダに作成されます。(ページの繰り返しの中に記述してください。)
{%DW_OUTPUT_BMP_IMAGE(XDW文書オープン1,{%GET(FolderPath)}\{%GET(FileNameWithoutExtension)}{%DW_GET(PageLoopCount)}.bmp,300,Color)}
NAME イメージPdf出力
FORMAT1 {%DW_OUTPUT_PDF_IMAGE(XDW文書オープン処理名,出力ファイル名,解像度,色(Mono|Color|MonoHighQuality),[終了ページ],圧縮タイプ(MrcNormal|MrcHighQuality|MrcHighCompress|Normal|HighQuality|HighCompress))}
FORMAT2 {%DW_OUTPUT_PDF_IMAGE(#Page,XDW文書オープン処理名,出力ファイル名,解像度,色(Mono|Color|MonoHighQuality),開始ページ,[終了ページ],圧縮タイプ(MrcNormal|MrcHighQuality|MrcHighCompress|Normal|HighQuality|HighCompress))}

ページをイメージPdfに変換出力します。ページを省略した場合はページの繰り返し処理の現在のページが対象となります。出力ファイルパスに含まれるフォルダが存在しない場合はエラーとなります。また、出力先に既に同名のファイルが存在する場合はエラーとなります。

本マクロはXDW文書のページの繰り返し処理の中のマクロ実行に記述してください。 (ページを省略した場合)

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

終了ページは空文字を指定すると最終ページとなります。

解像度は10~600dpiの範囲で指定できます。通常200か300を指定します。

指定可能な色はMono,Color,MonoHighQualityです。

指定可能な圧縮タイプはMrcNormal,MrcHighQuality,MrcHighCompress,Normal,HighQuality,HighCompressです。

DocuWorks9.1以降では、Mrcの付く圧縮タイプを指定した場合、Mrcが付かない圧縮タイプを指定したことになります。

色をColorにしてA0やA0長尺の文書を変換するとdpiの値によりエラーが発生します。

これはDocuWorksの機能の限界で変換ができません。

A0 カラーは400dpiまで変換可能で、A0 長尺カラーは300dpiまで変換可能です。

例1
直前のXDW文書オープンでオープンしたXDW文書の全ページを1つのマルチページPDFに出力します。PDFはグローバルデータ「PdfFolder」で定義されたフォルダに、変換元のファイル名と同名で出力します。また、フォルダを自動作成して、既に同名のファイルがある場合はファイル名の末尾に連番を付与します。
#フォルダ作成とPDFファイルパスをセット
{%SET_U(属性,PDFファイルパス,{%CREATE_FOLDER({%GET_G(PdfFolder)})}\{%GET(FileNameWithoutExtension)}.pdf)}

#同名のファイルがある場合はファイル名の末尾に連番を付与する
{%SET_U(属性,PDFファイルパス,{%GET_SEQUENCE_FILENAME({%GET_U(属性,PDFファイルパス)})})}

#PDF出力
{%DW_OUTPUT_PDF_IMAGE(#Page,{%DW_GET(OpenName)},{%GET_U(属性,PDFファイルパス)},300,Color,1,,Normal)}
例2
直前のXDW文書オープンでオープンしたXDW文書の全てのページを1ページ1PDFで出力します。画像はXDW文書と同じフォルダに作成されます。また、既に同名のファイルが存在する場合は削除します。(ページの繰り返しの中に記述してください。)
#PDFファイルパスをセット
{%SET_U(属性,PDFファイルパス,{%GET(FolderPath)}\{%GET(FileNameWithoutExtension)}{%DW_GET(PageLoopCount)}.pdf)}

#同名ファイルがある場合は削除
{%DELETE_FILE({%GET_U(属性,PDFファイルパス)})}

#PDF出力
{%DW_OUTPUT_PDF_IMAGE({%DW_GET(OpenName)},{%GET_U(属性,PDFファイルパス)},300,Color,{%DW_GET(PageLoopCount)},Normal)}
NAME 検索文字の座標取得
FORMAT1 {%DW_GET_TEXT_POSITION(XDW文書オープン処理名,検索文字列,結果返却用ユーザーデータ,大文字小文字同一視(0|1),全角半角同一視(0|1),ひらがなカタカナ同一視(0|1),パディング値)}
FORMAT2 {%DW_GET_TEXT_POSITION(#Page,XDW文書オープン処理名,ページ,検索文字列,結果返却用ユーザーデータ,大文字小文字同一視(0|1),全角半角同一視(0|1),ひらがなカタカナ同一視(0|1),パディング値)}

検索文字列で指定された文字を、指定ページから検索し、見つかった文字の位置と高さと幅を結果返却用ユーザーデータにセットします。検索文字はスペース区切りで複数の文字を指定できます。

""で囲うとスペースを含めたそのままの文字で検索できます。""で囲わない場合に、スペースを検索対象としたい場合は、スペースの直前に\を付けます。\を検索する場合は、\\と記述します。"も特別な意味を持つことになるので、"を検索するときは\"と記述します。

検索対象はアプリケーション文書のテキスト情報、または、イメージ文書をOCR処理した結果のテキスト情報のいずれかとなります。イメージ文書は事前にOCR処理を行う必要があります。 (DocuWorks9以降はイメージ文書をOCR処理した場合は、取得不可となりました。)

大文字小文字同一視、全角半角同一視、ひらがなカタカナ同一視は、0又は1を指定します。1が指定されると、検索時に大文字小文字(全角半角、ひらがなカタカナ)を同一視して検索を行います。

パディング値(mm)を指定すると、見つかった矩形にパディングを付けた状態で座標とサイズをセットする。

結果は複数になる場合があるため、「結果返却用ユーザーデータ名,番号(1~)」のキーでユーザーデータが作成されます。結果の数は、「{%GET_USER_DATA_COUNT(結果返却用ユーザーデータ名)}」で取得できます。

引き数1:結果返却用ユーザーデータ名

引き数2:番号(1~)

1つの見つかった文字が、複数の矩形で構成される場合があります。文字が折り返している場合などは1行目と2行目が別の矩形となり、2つの矩形情報が取得されます。そのため、キー「Rect」に矩形番号(1~)のキーが作成され、矩形毎の座標が取得できるようになっています。

また、複数の矩形を一つにまとめた矩形の情報(MergeRect X, MergeRect Y, MergeRect Width, MergeRect Height)も取得できます。矩形が1つだった場合は、これらの値は矩形の情報(Rect,1)と同じになります。)

ユーザーデータ名 キー キー キー キー
検索結果 1 Rect 1 X
検索結果 1 Rect 1 Y
検索結果 1 Rect 1 Width
検索結果 1 Rect 1 Height
検索結果 1 Rect 1 Status
検索結果 1 Rect 2 X
検索結果 1 Rect 2 Y
検索結果 1 Rect 2 Width
検索結果 1 Rect 2 Height
検索結果 1 Rect 2 Status
検索結果 1 MergeRect X
検索結果 1 MergeRect Y
検索結果 1 MergeRect Width
検索結果 1 MergeRect Height
検索結果 1 MergeRect Status

格納されるユーザーデータの内容は以下の通りです。

キー
X 見つかった文字のX座標(mm)。
Y 見つかった文字のY座標(mm)。
Width 見つかった文字の幅(mm)。
Height 見つかった文字の高さ(mm)。
Status 0の場合は文字の座標とサイズ。1の場合はページ全体の座標とサイズ。(矩形情報が取得できなかった場合は1となる。OCRのモジュールによって取得できない場合があるようです。)
MergeRect X 矩形が複数で構成される場合に、一つにまとめた矩形のX座標(mm)。
MergeRect Y 矩形が複数で構成される場合に、一つにまとめた矩形のY座標(mm)。
MergeRect Width 矩形が複数で構成される場合に、一つにまとめた矩形の幅(mm)。
MergeRect Height 矩形が複数で構成される場合に、一つにまとめた矩形の高さ(mm)。
MergeRect Status RectにセットされるStatusに1つでも1(ページ全体の座標とサイズ)がある場合は、1(ページ全体の座標とサイズ)がセットされます。それ以外は、0(文字の座標とサイズ)がセットされます。
例1
XDW文書オープン1でオープンしたXDW文書の全てのページで「愛知」を検索して、見つかった文字の位置に矩形アノテーションは貼り付ける。(ページの繰り返しの中に記述してください。) 1つの結果で矩形が複数に分かれる場合はマージした矩形とする。
{%DW_GET_TEXT_POSITION(XDW文書オープン1,愛知,result,0,0,0,0.5)}
{%WRITE_LOG({%GET_USER_DATA_KEY_COUNT(result)})}

{%LOOP L1 {%GET_USER_DATA_KEY_COUNT(result)}(
  {%SET_U(Anno,HorPos,{%GET_U(result,[L_IDX(L1)],MergeRect,X)})}
  {%SET_U(Anno,VerPos,{%GET_U(result,[L_IDX(L1)],MergeRect,Y)})}
  {%SET_U(Anno,Width,{%GET_U(result,[L_IDX(L1)],MergeRect,Width)})}
  {%SET_U(Anno,Height,{%GET_U(result,[L_IDX(L1)],MergeRect,Height)})}
  {%SET_U(Anno,BorderStyle,しない)}
  {%SET_U(Anno,FillStyle,する)}
  {%SET_U(Anno,FillColor,黄)}
  {%SET_U(Anno,FillTransparent,する)}
  {%DW_PASTE_RECT_ANNOTATION(XDW文書オープン1,Anno)}
)}
例2
例1と同じ内容で、1つの結果で矩形が複数に分かれる場合は、それぞれの矩形にアノテーションを貼る場合。
{%DW_GET_TEXT_POSITION(XDW文書オープン1,愛知,result,0,0,0,0.5)}
{%WRITE_LOG({%GET_USER_DATA_KEY_COUNT(result)})}

{%LOOP L1 {%GET_USER_DATA_KEY_COUNT(result)}(
  {%LOOP L2 {%GET_USER_DATA_KEY_COUNT(result,[L_IDX(L1)],Rect)}(
    {%SET_U(Anno,HorPos,{%GET_U(result,[L_IDX(L1)],Rect,[L_IDX(L2)],X)})}
    {%SET_U(Anno,VerPos,{%GET_U(result,[L_IDX(L1)],Rect,[L_IDX(L2)],Y)})}
    {%SET_U(Anno,Width,{%GET_U(result,[L_IDX(L1)],Rect,[L_IDX(L2)],Width)})}
    {%SET_U(Anno,Height,{%GET_U(result,[L_IDX(L1)],Rect,[L_IDX(L2)],Height)})}
    {%SET_U(Anno,BorderStyle,しない)}
    {%SET_U(Anno,FillStyle,する)}
    {%SET_U(Anno,FillColor,黄)}
    {%SET_U(Anno,FillTransparent,する)}
    {%DW_PASTE_RECT_ANNOTATION(XDW文書オープン1,Anno)}
  )}
)}
NAME バインダー新規作成
FORMAT {%DW_CREATE_BINDER(XBDバインダーファイル名,ページサイズ(A3縦|A3横|A4縦|A4横|A5縦|A5横|B4縦|B4横|B5縦|B5横|ページ最大サイズ),色(紺|緑|青|黄|オレンジ|赤|赤紫|ピンク|紫|茶|オリーブ|黄緑|水|クリーム|灰|白)[,追加XDW文書ファイルリストユーザーデータ名])}

XBDバインダーファイル名に指定されたXBDバインダーファイルを新規作成します。

新規作成時にXDW文書ファイルを追加することもできます。ユーザーデータにファイルリストをセットして、追加XDW文書ファイルリストユーザーデータ名を指定すると追加できます。

ユーザーデータにセットするファイルパスの末尾に|を追加して続けて文書名を指定すると、バインダーに追加されるファイルの文書名を変更することができます。

以下の例では、「文書1.xdw」をバインダーに追加して、追加したXDW文書の名前を「文書_20230318」のように日付を含んだ文書名に変更します。(変更後の文書名に拡張子は不要です。)

{%ADD_USER_DATA(FileList,C:\Home\Test\文書1.xdw|文書_{%DATE(yyyyMMdd)})}

|はエスケープ文字なので、直後にマクロやカンマを書く場合は|を2つ並べて書く必要があります。

{%ADD_USER_DATA(FileList,C:\Home\Test\文書1.xdw||{%DATE(yyyyMMdd)})}

ページサイズと色に規定値以外の値が指定されている場合は、デフォルト値(ページサイズ:ページ最大サイズ,色:青)でバインダーが作成されます。

XBDバインダーファイル名に指定されたXBDバインダーファイルが既に存在する場合はエラーになります。

例1
空のバインダーを作成する。
{%DW_CREATE_BINDER(C:\Home\Test\バインダー.xbd,ページサイズ最大,紺)}
例2
空のバインダーを作成してファイルを追加する。
{%ADD_USER_DATA(FileList,C:\Home\Test\文書1.xdw)}
{%ADD_USER_DATA(FileList,C:\Home\Test\文書2.xdw)}
{%DW_CREATE_BINDER(C:\Home\Test\バインダー.xbd,ページサイズ最大,紺,FileList)}
NAME バインダーに文書を挿入
FORMAT {%DW_INSERT_DOCUMENT_TO_BINDER(XBDバインダーファイル名,追加XDW文書ファイルリストユーザーデータ名,追加位置(先頭|末尾)[,ページサイズ(A3縦|A3横|A4縦|A4横|A5縦|A5横|B4縦|B4横|B5縦|B5横|ページ最大サイズ),色(紺|緑|青|黄|オレンジ|赤|赤紫|ピンク|紫|茶|オリーブ|黄緑|水|クリーム|灰|白)])}

XBDバインダーファイル名に指定されたXBDバインダーファイルをオープンし、ユーザーデータに格納されたXDW文書ファイルを追加します。

ユーザーデータにセットするファイルパスの末尾に|を追加して続けて文書名を指定すると、バインダーに追加されるファイルの文書名を変更することができます。

以下の例では、「文書1.xdw」をバインダーに追加して、追加したXDW文書の名前を「文書_20230318」のように日付を含んだ文書名に変更します。(変更後の文書名に拡張子は不要です。)

{%ADD_USER_DATA(FileList,C:\Home\Test\文書1.xdw|文書_{%DATE(yyyyMMdd)})}

|はエスケープ文字なので、直後にマクロやカンマを書く場合は|を2つ並べて書く必要があります。

{%ADD_USER_DATA(FileList,C:\Home\Test\文書1.xdw||{%DATE(yyyyMMdd)})}

追加位置は先頭か末尾を指定できます。

ページサイズと色は省略可能です。指定したXBDバインダーファイルが存在しない場合は新規作成を行いますが、その場合にページサイズと色を参照して作成します。

XBDバインダーファイルを新規作成する場合に、ページサイズと色が省略されたり、規定値以外の値が指定されている場合は、デフォルト値(ページサイズ:ページ最大サイズ,色:青)でバインダーが作成されます。

例1
C:\Home\Test\バインダー.xbdに、C:\Home\Test\文書1.xdw、文書2.xdwを追加する。
{%ADD_USER_DATA(FileList,C:\Home\Test\文書1.xdw)}
{%ADD_USER_DATA(FileList,C:\Home\Test\文書2.xdw)}
{%DW_INSERT_DOCUMENT_TO_BINDER(C:\Home\Test\バインダー.xbd,FileList,末尾)}
NAME バインダー内の文書を削除
FORMAT {%DW_DELETE_DOCUMENT_IN_BINDER(XBDバインダーファイル名,削除XDW文書ファイル番号リストユーザーデータ名)}

XBDバインダーファイル名に指定されたXBDバインダーファイルをオープンし、格納されているXDW文書ファイルを番号指定で削除します。

削除したいXDW文書ファイルの番号はユーザーデータを使って指定します。

XBDバインダーファイル名に指定されたXBDバインダーファイルが存在しない場合はエラーになります。

バインダー内に存在しないファイル番号を指定した場合は無視されます。また、同じ番号を2つ以上指定しても1つだけ処理します。

例1
C:\Home\Test\バインダー.xbdに格納されている1番目と4番目のXDW文書ファイルを削除する。
{%ADD_USER_DATA(NumberList,1)}
{%ADD_USER_DATA(NumberList,4)}
{%DW_DELETE_DOCUMENT_IN_BINDER(C:\Home\Test\バインダー.xbd,NumberList)}
NAME バインダー情報の設定
FORMAT {%DW_SET_BINDER_INFO(XBDバインダーファイル名,ページサイズ(A3縦|A3横|A4縦|A4横|A5縦|A5横|B4縦|B4横|B5縦|B5横|ページ最大サイズ),色(紺|緑|青|黄|オレンジ|赤|赤紫|ピンク|紫|茶|オリーブ|黄緑|水|クリーム|灰|白)[,出力XBDバインダーファイル名])}

XBDバインダーファイル名に指定されたXBDバインダーファイルのサイズ、及び色を設定します。

出力XBDバインダーファイル名は省略可能で、省略した場合は対象のXBDバインダーファイルを更新します。

ページサイズ、色に空文字を指定すると、対象のXBDバインダーファイルの情報を継承します。

出力XBDバインダーファイル名のパスに含まれるフォルダが存在しない場合は自動で作成します。また、出力先に既に同名のファイルが存在する場合はエラーとなります。

本マクロはXDW文書がクローズされた状態で実行してください。

このマクロは内部でバインダーを新規作成して、対象のバインダー内の文書を移す処理を行っています。また、バインダーの文書属性のコピーも行っています。DocuWorksAPIでバインダー情報を変更することができないため、このような処理で実装しています。

例1
C:\Home\Test\バインダー.xbdの色を赤に設定する。
{%DW_SET_BINDER_INFO(C:\Home\Test\バインダー.xbd,,赤)}
例2
C:\Home\Test\バインダー.xbdのページサイズをA3横に、色を赤に設定する。
{%DW_SET_BINDER_INFO(C:\Home\Test\バインダー.xbd,A3横,赤)}
例3
C:\Home\Test\バインダー.xbdのページサイズをA3横に設定し、新しいバインダーファイル(New_バインダー.xbd)を出力する。
{%DW_SET_BINDER_INFO(C:\Home\Test\バインダー.xbd,A3横,,C:\Home\Test\New_バインダー.xbd)}
NAME セキュリティの設定
FORMAT {%DW_PROTECT_DOCUMENT(対象ファイル名,オプション)}

対象ファイルで指定したDocuWorks文書にセキュリティを設定します。

オプションには以下のデータをセットしたユーザーデータ名を指定します。

ProtectType 保護方式を次のいずれかで指定します。(PSWD56|PSWD128|PSWD256)
Permission 認可情報を次の中から指定します。複数指定可能で、複数指定する場合は|で区切って指定します。(文書の編集|アノテーションの編集|印刷|転記)
OpenPassword

開くパスワード(255文字以内)を暗号化したファイルを指定します。暗号化したファイルを作成するには、メイン画面のメニューのツールの 暗号ファイル作成ツール を使用します。

パスワードに使用できる文字は半角の英数記号で、大・小文字は区別されます。

省略した場合は、開く時にパスワードを要求されません。

FullAccessPassword

フルアクセスパスワード(255文字以内)を暗号化したファイルを指定します。暗号化したファイルを作成するには、メイン画面のメニューのツールの 暗号ファイル作成ツール を使用します。

パスワードに使用できる文字は半角の英数記号で、大・小文字は区別されます。

省略した場合は、フルアクセスモードになる際のパスワードを要求されません。

Comment パスワード入力時のコメントを指定します。省略可能です。

本マクロはXDW文書がクローズされた状態で実行してください。

例1
処理中のXDW文書にセキュリティを設定する。
{%SET_U(PD_OPTION,ProtectType,PSWD256)}
{%SET_U(PD_OPTION,Permission,文書の編集|アノテーションの編集|印刷|転記)}
{%SET_U(PD_OPTION,OpenPassword,C:\Home\OpenPassword.dat)}
{%SET_U(PD_OPTION,FullAccessPassword,C:\Home\FullAccessPassword.dat)}
{%SET_U(PD_OPTION,Comment,)}

{%DW_PROTECT_DOCUMENT({%GET(FullPathFileName)},PD_OPTION)}
NAME 署名数取得
FORMAT1 {%DW_SIGNATURE_COUNT(XDW文書オープン処理名)}
FORMAT2 {%DW_SIGNATURE_COUNT(#Page,XDW文書オープン処理名,ページ)}

XDW文書オープン処理名で指定されたDocuWorks文書の現在のページの署名数を取得します。

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

例1
処理中のXDW文書の現在のページの署名数を取得します。(アノテーションの繰り返し処理の中でマクロ記述する場合)
{%DW_SIGNATURE_COUNT(XDW文書オープン1)}
NAME 署名情報取得
FORMAT1 {%DW_SIGNATURE_INFO(XDW文書オープン処理名,署名No,結果返却用ユーザーデータ名)}
FORMAT2 {%DW_SIGNATURE_INFO(#Page,XDW文書オープン処理名,ページ,署名No,結果返却用ユーザーデータ名)}

XDW文書オープン処理名で指定されたDocuWorks文書の現在のページの署名情報を取得します。結果は引き数で指定したユーザーデータに格納されます。

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

ユーザーデータに格納される内容は以下の通りです。

対象の署名が電子印鑑の時は Info と StampInfo が設定されます。

対象の署名が電子証明書の時は Info と PkiInfo が設定されます。

DocuWorks電子印鑑ケースツールにより電子印鑑ケースが開かれていて、その電子印鑑ケースに「自分の電子印鑑」が含まれているか、「信頼済みの電子印鑑」に登録されているという条件を満たさない場合は、電子印鑑が未登録という状態となります。

第2キー 名前 内容
Info SignatureType 署名タイプ。次の何れか。
DocuWorks電子印鑑
電子証明書SHA1
電子証明書SHA256
Info Page 署名の貼られているページ。バインダーの場合は通し番号。
Info HorPos 署名の左上のX座標。
Info VerPos 署名の左上のY座標。
Info Width 署名の幅。
Info Height 署名の高さ。
Info SignedTime 署名の日時。(yyyy/MM/dd HH:mm:ss)
第2キー 名前 内容
StampInfo StampName 署名に使われた電子印鑑の印鑑名。
StampInfo OwnerName 署名に使われた電子印鑑の所有者名。
StampInfo ValidDate 署名に使われた電子印鑑の有効期限。(yyyy/MM/dd HH:mm:ss)
StampInfo Remarks 署名に使われた電子印鑑の備考。
StampInfo DocVerificationStatus DocuWorksファイルデータの整合性の検証結果。次の何れか。
未検証
検証済み_未編集
検証済み_編集あり
検証済み_異常
StampInfo DocVerificationStatusMessage

DocVerificationStatus に対応するメッセージ。

ステータス メッセージ
未検証 署名が検証されていません。
検証済み_未編集 署名が検証されています。編集されていません。
検証済み_編集あり 署名が検証されています。編集されています。
検証済み_異常 署名が検証されています。壊れているか改竄されている可能性があります。
StampInfo StampVerificationStatus 署名に使われた電子印鑑の信頼性の検証結果。次の何れか。
未検証
検証済み_電子印鑑登録済み
検証済み_電子印鑑未登録
StampInfo StampVerificationStatusMessage

StampVerificationStatus に対応するメッセージ。

ステータス メッセージ
未検証 署名が検証されていません。
検証済み_電子印鑑登録済み 署名が検証されています。電子印鑑が登録されています。
検証済み_電子印鑑未登録 署名が検証されています。電子印鑑が登録されていません。
第2キー 名前 内容
PkiInfo Module 署名を行ったモジュール名。
PkiInfo SubjectDN 署名者の証明書のSubjectのDN。
PkiInfo Subject 基本的には署名者の証明書のSubjectのCNが返される。CNがない場合はCN→OU→O→Eの順に内容を返す。
PkiInfo IssuerDN 署名者の証明書のIssuerのDN。
PkiInfo Issuer 基本的には署名者の証明書のIssuerのCNが返される。CNがない場合はCN→OU→O→Eの順に内容を返す。
PkiInfo NotBefore 署名者の証明書の有効期限。(yyyy/MM/dd HH:mm:ss)
PkiInfo NotAfter 署名者の証明書の有効期限の終了日時。(yyyy/MM/dd HH:mm:ss)
PkiInfo Serial 署名者の証明書のシリアル番号を16進数で返す。
PkiInfo SignerCert 署名者の証明書データ。バイトデータを16進数ダンプにした文字列。
PkiInfo Remarks 署名の備考。
PkiInfo SigningTime 署名を行った時刻。(yyyy/MM/dd HH:mm:ss)
PkiInfo DocVerificationStatus 署名文書の検証結果。次の何れか。
未検証
検証済み_未編集_信頼未確認
検証済み_編集あり_信頼未確認
異常
検証済み_未編集_信頼確認
検証済み_編集あり_信頼確認
PkiInfo DocVerificationStatusMessage

DocVerificationStatus に対応するメッセージ。

ステータス メッセージ
未検証 署名が検証されていません。
検証済み_未編集_信頼未確認 署名後に編集されていません。証明書の信頼性は確認できません。
検証済み_編集あり_信頼未確認 署名後に編集されています。証明書の信頼性は確認できません。
異常 壊れているか改竄されている可能性があります。または、証明書が無効です。または、検証できません。
検証済み_未編集_信頼確認 署名後に編集されていません。証明書の信頼性は確認されています。
検証済み_編集あり_信頼確認 署名後に編集されています。証明書の信頼性は確認されています。
PkiInfo CertVerificationType 証明書の検証結果を参照して証明書の検証をしていた場合はDWCertの持つ検証レベルを取得して証明書の検証方法を返す。証明書の検証をしていなかった場合はレジストリにある検証レベルを取得して証明書の検証方法を返す。

次の何れか。

信頼レベル低
信頼レベル中_ローカル失効確認
信頼レベル中_オンライン失効確認
信頼レベル高_ローカル失効確認
信頼レベル高_オンライン失効確認

PkiInfo CertVerificationTypeMessage

CertVerificationType に対応するメッセージ。

ステータス メッセージ
信頼レベル低 証明書信頼レベル低
信頼レベル中_ローカル失効確認 証明書信頼レベル中 ローカル失効確認
信頼レベル中_オンライン失効確認 証明書信頼レベル中 オンライン失効確認
信頼レベル高_ローカル失効確認 証明書信頼レベル高 ローカル失効確認
信頼レベル高_オンライン失効確認 証明書信頼レベル高 オンライン失効確認
PkiInfo CertVerificationStatus 証明書の検証結果。次の何れか。
未検証
有効
ルート証明書不明
失効確認不可
有効期限外
有効期限不正
破棄済み
中間証明書破棄済み
署名不正
キー使用方法不正
未定義エラー
PkiInfo CertVerificationStatusMessage

CertVerificationStatus に対応するメッセージ。

ステータス メッセージ
未検証 証明書は未検証です。
有効 有効な証明書です。
ルート証明書不明 ルート証明書が見つかりません。
失効確認不可 証明書の失効確認ができません。
有効期限外 有効期限外の証明書です。
有効期限不正 証明書の有効期限が署名日時において不正です。
破棄済み 証明書が破棄されています。
中間証明書破棄済み 中間証明書が破棄されています。
署名不正 証明書の署名が不正です。
キー使用方法不正 キーの使用方法が不正です。
未定義エラー 未定義のエラーです。
例1
処理中のXDW文書の現在のページの指定された署名No1の署名情報を取得し、結果をログに出力します。(ページの繰り返し処理の中でマクロ記述する場合)
{%DW_SIGNATURE_INFO(XDW文書オープン1,1,Signature)}

{%WRITE_LOG(SignatureType:{%GET_U(Signature,Info,SignatureType)})}
{%WRITE_LOG(Page:{%GET_U(Signature,Info,Page)})}
{%WRITE_LOG(HorPos:{%GET_U(Signature,Info,HorPos)})}
{%WRITE_LOG(VerPos:{%GET_U(Signature,Info,VerPos)})}
{%WRITE_LOG(Width:{%GET_U(Signature,Info,Width)})}
{%WRITE_LOG(Height:{%GET_U(Signature,Info,Height)})}
{%WRITE_LOG(SignedTime:{%GET_U(Signature,Info,SignedTime)})}

{%IF({%GET_U(Signature,Info,SignatureType)}=DocuWorks電子印鑑,

  {%WRITE_LOG(StampName:{%GET_U(Signature,StampInfo,StampName)})}
  {%WRITE_LOG(OwnerName:{%GET_U(Signature,StampInfo,OwnerName)})}
  {%WRITE_LOG(ValidDate:{%GET_U(Signature,StampInfo,ValidDate)})}
  {%WRITE_LOG(Remarks:{%GET_U(Signature,StampInfo,Remarks)})}
  {%WRITE_LOG(DocVerificationStatus:{%GET_U(Signature,StampInfo,DocVerificationStatus)})}
  {%WRITE_LOG(DocVerificationStatusMessage:{%GET_U(Signature,StampInfo,DocVerificationStatusMessage)})}
  {%WRITE_LOG(StampVerificationStatus:{%GET_U(Signature,StampInfo,StampVerificationStatus)})}
  {%WRITE_LOG(StampVerificationStatusMessage:{%GET_U(Signature,StampInfo,StampVerificationStatusMessage)})}

,

  {%WRITE_LOG(Module:{%GET_U(Signature,PkiInfo,Module)})}
  {%WRITE_LOG(SubjectDN:{%GET_U(Signature,PkiInfo,SubjectDN)})}
  {%WRITE_LOG(Subject:{%GET_U(Signature,PkiInfo,Subject)})}
  {%WRITE_LOG(IssuerDN:{%GET_U(Signature,PkiInfo,IssuerDN)})}
  {%WRITE_LOG(Issuer:{%GET_U(Signature,PkiInfo,Issuer)})}
  {%WRITE_LOG(NotBefore:{%GET_U(Signature,PkiInfo,NotBefore)})}
  {%WRITE_LOG(NotAfter:{%GET_U(Signature,PkiInfo,NotAfter)})}
  {%WRITE_LOG(Serial:{%GET_U(Signature,PkiInfo,Serial)})}
  {%WRITE_LOG(SignerCert:{%GET_U(Signature,PkiInfo,SignerCert)})}
  {%WRITE_LOG(Remarks:{%GET_U(Signature,PkiInfo,Remarks)})}
  {%WRITE_LOG(SigningTime:{%GET_U(Signature,PkiInfo,SigningTime)})}
  {%WRITE_LOG(DocVerificationStatus:{%GET_U(Signature,PkiInfo,DocVerificationStatus)})}
  {%WRITE_LOG(DocVerificationStatusMessage:{%GET_U(Signature,PkiInfo,DocVerificationStatusMessage)})}
  {%WRITE_LOG(CertVerificationType:{%GET_U(Signature,PkiInfo,CertVerificationType)})}
  {%WRITE_LOG(CertVerificationTypeMessage:{%GET_U(Signature,PkiInfo,CertVerificationTypeMessage)})}
  {%WRITE_LOG(CertVerificationStatus:{%GET_U(Signature,PkiInfo,CertVerificationStatus)})}
  {%WRITE_LOG(CertVerificationStatusMessage:{%GET_U(Signature,PkiInfo,CertVerificationStatusMessage)})}

)}
NAME 署名状態更新
FORMAT1 {%DW_UPDATE_SIGNATURE_STATUS(XDW文書オープン処理名,署名No)}
FORMAT2 {%DW_UPDATE_SIGNATURE_STATUS(#Page,XDW文書オープン処理名,ページ,署名No)}

XDW文書オープン処理名で指定されたDocuWorks文書の現在のページから指定された署名Noの署名の状態を更新します。

ページを指定する場合は、第1引数に「#Page」(FORMAT2)を指定します。

例1
処理中のXDW文書の指定された署名No1の署名の状態を更新します。
{%DW_UPDATE_SIGNATURE_STATUS(XDW文書オープン1,1)}
NAME 電子印鑑による文書署名
FORMAT {%DW_SIGN_DOCUMENT_WITH_STAMP(XDW文書ファイル名,ページ,X座標,Y座標)}

XDW文書ファイル名に指定されたXDW文書の指定ページに電子印鑑を使って署名を行います。

DocuWorks電子印鑑ケースツールにより電子印鑑ケースが開かれていて、その電子印鑑ケースに「自分の電子印鑑」が含まれている必要があります。

署名に使用される電子印鑑は「自分の電子印鑑」の1つ目です。(複数の電子印鑑がある場合、2つ目以降の電子印鑑を指定する事はできません)

戻り値に署名Noが返却されます。(署名Noはページ毎の番号になっています。)

バインダーに署名を行った場合は、バインダーをばらしたり、文書を束ねたりできなくなります。また、署名を行った文書はバインダーに束ねる事はできません。

本マクロは、XDW文書がクローズされた状態で実行してください。

例1
「C:\Test.xdw」の1ページ目の座標(20mm,10mm)に電子印鑑で署名を行う。
{%DW_SIGN_DOCUMENT_WITH_STAMP(C:\Test.xdw,1,20,10)}