処理中ファイル書式 | 処理中のファイルに関する書式です。 |
状態取得書式 | 処理中の状態取得に関する書式です。 |
ユーザーデータ書式 | マクロで使用可能なデータ領域(変数)に関する書式です。 |
グローバルデータ書式 | グローバルデータ設定で設定された文字列に関する書式です。 |
日付書式 | 日付に関する書式です。 |
ファイルシステム書式 | コピーや移動などファイル操作に関する書式です。 |
文字列書式 | 文字列操作に関する書式です。 |
数学書式 | 計算、丸め処理等に関する書式です。 |
制御書式 | 条件分岐、繰り返し処理等、実行制御に関する書式です。 |
テキストファイル書式 | テキストファイルに関する書式です。 |
データベース書式 | データベースやSQLに関する書式です。 |
プロセス書式 | プロセスに関する書式です。 |
Web書式 | Webに関する書式です。 |
DocuWorks書式 | DocuWorks関連の実行に関する書式です。 |
DocuWorks書式 (アノテーション関連) | DocuWorks (アノテーション) 関連の実行に関する書式です。 |
画像処理書式 | 画像処理に関する書式です。 |
Excel書式 | Excel関連の実行に関する書式です。 |
その他の書式 | ダイアログ表示等の実行に関する書式です。 |
マクロは、以下の書式で定義されマクロ名と引数を記述します。マクロ名と引数の内容によって実行時に様々な処理を行います。
{%マクロ名(引数1,引数2)}
マクロは戻り値があり、実行時に処理されると戻り値の内容に置換されます。(戻り値が空文字の場合もあります。)
例えば、以下のマクロは現在の日付に置換されます。
{%DATE(yyyy/MM/dd)} ↓置換される 2010/06/20
マクロのネスト(入れ子)も可能です。以下は、今日の日付をメッセージボックスに表示します。
{%MSGBOX({%DATE(yyyy/MM/dd)})}
マクロは、設定画面の各項目の入力欄にも記述できます。(一部入力出来ない項目も有りますが、入力欄の右クリックメニューにマクロセレクターが表示される項目であれば、設定可能となっています。)
例えば、フォルダ作成処理のフォルダ入力欄に、以下の様に記述すれば、日付のフォルダを簡単に作成できます。
C:\Doc\{%DATE(yyyy)}\{%DATE(MM)}\{%DATE(dd)} ↓実行時にシステム日付に置換される C:\Doc\2010\06\20
省略可能な引数は書式の[]で表しています。
{%XXXXX(a,b[,c][,d])}
上記n書式の場合は、cとdが省略可能です。両方省略する場合は、以下の様な書き方ができます。
{%XXXXX(a,b)} {%XXXXX(a,b,,)}
dを指定する場合は、cも指定するか空文字を指定します。
{%XXXXX(a,b,c,d)} {%XXXXX(a,b,,d)}
一般的なプログラム言語では、文字列を""で囲う仕様があります。eDocArrangement2のマクロでは、文字列を""で囲わないでください。
{%MSGBOX(こんにちは)} -> 「こんにちは」が表示される
マクロの引数の部分の文字がすべて引数として渡されますので、前後にスペースなどを含めるとスペースも引数に渡ってしまいます。
{%MSGBOX( こんにちは )} -> 「 こんにちは 」が表示される
マクロの書式として成立しない文字は全て文字列となりますので、以下の様にマクロ名の先頭と末尾の閉じ括弧の間に#などの文字を入れてしまえばマクロとして動作しなくなります。
{%#SET_U(属性,QRコード内容,ABC)#}
Version 2.2.8から実装されたエスケープマクロ(ESCAPE)を使ってコメントアウトの代用として使用することもできます。(エスケープマクロの引数も構文解析は行っていますので、構文に誤りがあると期待通りに動作しません。)
{%ESCAPE( 2024/05/21 一時的にコメントとする #ファクス番号のチェック {%IF({%GET_U(属性,受信ファクス番号)}=, #空の場合はエラー {%SET_U(属性,判定,False)} {%SET_U(属性,メッセージ,■ERR■【ファクス受信】ファクス受信番号がありません。)} ,)} )}
マクロ書式では、マクロの引数の区切りとして「,」(カンマ)を使用しています。カンマそのものを引数に指定する場合には、カンマの前に「|」(縦棒)を付けてください。
例 ユーザーデータに「 山田,19,男 」というデータが格納されていた場合に、カンマで分割する場合
{%SPLIT({%GET_USER_DATA(Temp,Data)},|,,分割結果)}
マクロで制御コードを使用したい場合は、以下のキーワードを使用します。
タブ | <Tab> |
---|---|
改行 | <CrLf> |
キャリッジ・リターン | <Cr> |
ラインフィード | <Lf> |
あまりないと思いますが、「<Tab>」そのものを表記したい場合は、「|<Tab>」のように先頭に|をつけてエスケープできます。
例 JOINマクロで改行を連結文字に指定する場合
{%JOIN(wk,<CrLf>)}
マクロ書式は、{%マクロ名(引数,引数,・・・)}のような形式となっています。マクロの引数に「{%」及び「)}」の文字を使用したい場合は、マクロ文としての解析を行わないように|でエスケープすることが可能です。
MSGBOXマクロで「{%MSGBOX()}」を表示させる場合
{%MSGBOX(|{%MSGBOX(|)})}
下記のように記述するとマクロをエスケープできます。
{%MSGBOX({%ESCAPE({%MSGBOX()})})}
「||」と書くと「|」となります。
「|,」と書くと、「,」そのものを表しますが、「|,」という文字を書きたい場合は、「|||,」と記述することで、「|,」となります。