マクロは、以下の書式で定義されマクロ名と引数を記述します。マクロ名と引数の内容によって実行時に様々な処理を行います。
{%マクロ名(引数1,引数2)}
マクロは戻り値があり、実行時に処理されると戻り値の内容に置換されます。(戻り値が空文字の場合もあります。)
例えば、以下のマクロは現在の日付に置換されます。
{%DATE(yyyy/mm/dd)}
↓置換される
2010/06/20
マクロは、設定画面の各項目の入力欄に記述できます。(一部入力出来ない項目も有りますが、入力欄で右クリックメニューからマクロを挿入できる項目であれば、設定可能となっています。)
例えば、ファイル移動の移動先フォルダ入力欄に、以下の様に記述すれば、日付のフォルダを簡単に作成できます。(ファイルの移動先に指定されたフォルダが存在しない場合は自動作成されます。)
C:\Doc\{%DATE(yyyy)}\{%DATE(mm)}\{%DATE(dd)}
↓実行時にシステム日付に置換される
C:\Doc\2010\06\20
文字列について
一般的なプログラム言語では、文字列を""で囲う仕様があります。eDocStamper2のマクロでは、文字列を""で囲わないでください。
{%MSGBOX(こんにちは)} -> 「こんにちは」が表示される
マクロの引数の部分の文字がすべて引数として渡されますので、前後にスペースなどを含めるとスペースも引数に渡ってしまいます。
{%MSGBOX( こんにちは )} -> 「 こんにちは 」が表示される
カンマについて
マクロ書式では、マクロの引数の区切りとして「,」(カンマ)を使用しています。カンマそのものを引数に指定する場合には、カンマの前に「|」(縦棒)を付けてください。
例 ファイル名に含まれている「,」(カンマ)を「_」アンダーバーに置換する場合
{%REPLACE({%GET(FileName)},|,,_)}
制御コードについて
マクロで制御コードを使用したい場合は、以下のキーワードを使用します。
|
タブ |
<Tab> |
|
改行 |
<CrLf> |
|
キャリッジ・リターン |
<Cr> |
|
ラインフィード |
<Lf> |
例 abcとdefの間に改行を入れてメッセージ表示する場合
{%MSGBOX(abc<CrLf>def)}
あまりないと思いますが、「<Tab>」そのものを表記したい場合は、「|<Tab>」のように先頭に|をつけてエスケープできます。
「{%」及び「)}」について
マクロ書式は、{%マクロ名(引数,引数,・・・)}のような形式となっています。マクロの引数に「{%」及び「)}」の文字を使用したい場合は、マクロ文としての解析を行わないように|でエスケープすることが可能です。
MSGBOXマクロで「{%MSGBOX()}」を表示させる場合
{%MSGBOX(|{%MSGBOX(|)})}
エスケープのエスケープについて
「|,」と書くと、「,」そのものを表しますが、「|,」という文字を書きたい場合は、「||,」と記述することで、「|,」となります。
前述した「|<Tab>」や、「|{%」なども「||<Tab>」や「||{%」と記述することで、エスケープを無効にして、「|」の文字をエスケープ対象文字の直前に記述するすることができます。
エスケープのエスケープは、直後にエスケープ対象文字がある場合のみに行う仕様となっていますので、「||abc」のような文字は、そのまま「||abc」となります。