共通マクロ書式

読み取りデータ書式 | シンボル情報取得書式 | 配信先取得書式 | 処理結果取得書式 | ユーザデータ書式 |
グローバルデータ書式 | プラグインデータ書式 | 日付書式 | ファイル名書式 | 文字列書式 |
数学書式
| 制御書式 | 実行書式 | データベース書式 | DocuWorksAPI書式 | ブラウザフォーム書式

実行書式

NAME メッセージボックス表示
FORMAT {%MSGBOX(メッセージ)}

引数のメッセージをダイアログに表示します。

例1
1番目に取得したQRコードの内容をダイアログで表示する。
{%MSGBOX({%P_DATA(QRコード読み取り1.1)})}
NAME エラー出力
FORMAT {%ERROR_RAISE(エラーメッセージ)}

エラーを発生させます。通常のエラーと同様に、処理中の処理を中断し、次の処理を行います。引数にエラーメッセージを指定することができます。
IFマクロと併用し、条件によりエラーを発生させて使います。

例1
取得したQRコードの内容に名前付きデータの「name」が存在しなければ、エラーとする。
{%IF({%N_EXISTS(QRコード読み取り1.name)}=True,,{%ERROR_RAISE(nameが見つかりません)})}
NAME ログ出力
FORMAT {%LOG_OUT(メッセージ)}

eDocArrangementの処理結果にメッセージを出力します。ログ設定が有効になっていれば、通常のログと一緒に出力されます。

例1
処理結果に「処理を実行しました。」を出力する。
{%LOG_OUT(処理を実行しました。)}
NAME ファイル削除
FORMAT {%DELETE_FILE(ファイル名)}

ファイル名に指定されたファイルを削除します。ファイルが存在しない場合は何もしません。
ファイルの削除に成功した場合は、ファイル名を返却します。
ファイルが存在しない場合は、空文字を返却します。

例1
「D:\Test\File01.tif」ファイルを削除する。
{%DELETE_FILE(D:\Test\File01.tif)}
NAME フォルダ削除
FORMAT {%DELETE_FOLDER(フォルダ名)}

フォルダ名に指定されたフォルダを削除します。フォルダが存在しない場合は何もしません。
フォルダの中が空の場合のみ削除します。
フォルダの削除に成功した場合は、フォルダ名を返却します。
フォルダが存在しない場合は、空文字を返却します。
フォルダの中にファイル又はフォルダが存在する場合はエラーとなります。

例1
「D:\Test」フォルダを削除する。
{%DELETE_FOLDER(D:\Test)}
NAME フォルダ作成
FORMAT {%CREATE_FOLDER(フォルダ名)}

フォルダ名に指定されたフォルダを作成します。上位から順番に存在しないフォルダを作成していきますので、パスで指定された全てのフォルダを一度に作成できます。

例1
「C:\Home\test\abc」フォルダを作成する。
{%CREATE_FOLDER(C:\Home\test\abc)}
NAME ファイル存在チェック
FORMAT {%EXISTS_FILE(ファイル名)}

ファイル名に指定されたファイルが存在するかチェックします。ファイルが存在する場合はTrueを返却し、存在しない場合はFalseを返却します。

例1
「D:\Test\File01.txt」ファイルの存在チェックを行う。
{%IF({%EXISTS_FILE(D:\Test\File01.txt)}=True,MSGBOX(あり),MSGBOX(なし))}
NAME フォルダ存在チェック
FORMAT {%EXISTS_FOLDER(フォルダ名)}

フォルダ名に指定されたフォルダが存在するかチェックします。フォルダが存在する場合はTrueを返却し、存在しない場合はFalseを返却します。

例1
「D:\Test」フォルダの存在チェックを行う。
{%IF({%EXISTS_FOLDER(D:\Test)}=True,MSGBOX(あり),MSGBOX(なし))}
NAME ファイルコピー
FORMAT {%COPY_FILE(コピー元ファイル名,コピー先ファイル名)}

ファイルをコピーします。コピー先に既に同名のファイルが存在する場合は、エラーが発生します。

例1
「D:\Test\File01.txt」ファイルを「D:\Test\控え\File01.txt」にコピーします。
{%COPY_FILE(D:\Test\File01.txt,D:\Test\控え\File01.txt)}
NAME 複数ファイルコピー
FORMAT {%MULTI_COPY_FILE(コピー元ファイル名,コピー先ファイル名,回数)}

ファイルを回数で指定された数分コピー(複製)します。コピー先ファイル名には[No]という文字を含ませてください。実行時に[No]が番号に置換されます。

コピー先に既に同名のファイルが存在する場合は、エラーが発生します。

例1
「D:\Test\File.txt」ファイルを「D:\Test\控え」に3回コピー(複製)します。コピー先のファイル名は、「File1.xdw、File2.xdw、File3.xdwとなります。」
{%MULTI_COPY_FILE(D:\Test\File.txt,D:\Test\控え\File[No].txt,3)}
NAME ファイル移動
FORMAT {%MOVE_FILE(移動元ファイル名,移動先ファイル名)}

ファイルを移動します。移動先に既に同名のファイルが存在する場合は、エラーが発生します。

例1
「D:\Test\File01.txt」ファイルを「D:\Test\処理済み\File01.txt」に移動します。
{%MOVE_FILE(D:\Test\File01.txt,D:\Test\処理済み\File01.txt)}
NAME 空フォルダチェック
FORMAT {%IS_FOLDER_EMPTY(フォルダ名)}

フォルダ名に指定されたフォルダ内にファイル又は、フォルダが存在するかチェックします。存在しない場合はTrueを返却し、存在する場合はFalseを返却します。

例1
「D:\Test」フォルダ内のファイル又は、フォルダの存在チェックを行い、空の場合はフォルダを削除する。
{%IF({%IS_FOLDER_EMPTY(D:\Test)}=True,{%DELETE_FOLDER(D:\Test)},)}
NAME 連番ファイル名取得
FORMAT {%GET_SEQUENCE_FILENAME(ファイル名)}

ファイル名に指定されたファイルが存在するかチェックし、ファイルが存在する場合はファイル名の末尾に連番を付与したファイル名を返却します。

例1
「D:\Test\File01.txt」の存在チェックを行い、存在する場合は末尾に連番を付与したファイル名を取得する。存在しない場合は、引数のファイル名を返却する。 結果は何れの場合もファイル名のみでパスは除外される。
{%GET_SEQUENCE_FILENAME(D:\Test\File01.txt)}

結果 ファイルが存在する場合
File01_0001.txt
NAME ファイル・フォルダの作成日時取得
FORMAT {%GET_CREATION_TIME(ファイル名、又は、フォルダ名)}

指定されたファイル、又は、フォルダの作成日時を取得します。取得される形式は、「yyyyy/mm/dd hh:nn:ss」です。

例1
処理中ファイルの作成日時を取得する。
{%GET_CREATION_TIME({%FILE_FULL_PATH})}

結果
2018/02/10 12:44:27
NAME ファイル・フォルダの更新日時取得
FORMAT {%GET_LAST_WRITE_TIME(ファイル名、又は、フォルダ名)}

指定されたファイル、又は、フォルダの更新日時を取得します。取得される形式は、「yyyyy/mm/dd hh:nn:ss」です。

例1
処理中ファイルの更新日時を取得する。
{%GET_LAST_WRITE_TIME({%FILE_FULL_PATH})}

結果
2018/02/10 12:44:27
NAME ファイル・フォルダのアクセス日時取得
FORMAT {%GET_LAST_ACCESS_TIME(ファイル名、又は、フォルダ名)}

指定されたファイル、又は、フォルダのアクセス日時を取得します。取得される形式は、「yyyyy/mm/dd hh:nn:ss」です。

例1
処理中ファイルのアクセス日時を取得する。
{%GET_LAST_ACCESS_TIME({%FILE_FULL_PATH})}

結果
2018/02/10 12:44:27
NAME ファイル読み込み
FORMAT {%FILE_READ(ファイル名,ユーザデータ名)}

ファイル名に指定されたテキストファイルを行単位で読み込みます。読み込んだテキストデータは、ユーザデータに格納します。
読み取った内容はユーザデータのキーに行番号(1〜)を指定することで参照できます。
また、読み取り行数は、キーに「Count」を指定することで参照できます。

例1
「D:\Test\File01.txt」を読み込んで、読み込み行数と、1行目の内容を表示する。
{%FILE_READ(D:\Test\File01.txt,Data)}
{%MSGBOX({%GET_USER_DATA(Data,Count)})}
{%MSGBOX({%GET_USER_DATA(Data,1)})}
NAME CSVファイル読み込み
FORMAT {%CSV_FILE_READ(ファイル名,ユーザデータ名,キー番号)}

ファイル名に指定されたCSVファイルを読み込みます。読み込んだ項目は、ユーザデータに格納します。

分割されるデータにユニークキーがある場合は、引数のキー番号にユニークキーの項目番号(1〜n)を指定します。ユニークキーがない場合は引数のキー番号に0を指定します。

結果として格納されるユーザデータは、「引数で指定した出力ユーザデータ名 + "_" + ユニークキー」という名前で設定します。 したがって、データの件数分、ユーザデータが作成されることになります。

分割されたデータにユニークキーとして指定した項目が存在しない場合、又は0を指定した場合は、ユーザデータ名の末尾に付加する文字を行番号にします。 (「引数で指定した出力ユーザデータ + "_" + 行番号」)

ユニークであるはずのキーが複数存在した場合には、後から読み込んだデータ(キー)で上書きします。

ユーザデータの中身は、項目番号をキーとして、項目の内容を値としてセットします。

また、読み取り行数はキーに「Count」を指定することで参照できます。読み取り項目数はGET_USER_DATA_COUNTマクロで取得できます。

このマクロはExcelで保存可能な、項目に改行が入ったCSV(項目の前後が""で囲われている書式)も読み込めます。

例1
「D:\Test\File01.csv」を読み込んで、項目番号1の値が"X500"のレコードの項目1〜3と、読み込み行数を表示する。(1番目の項目がユニークという想定)
{%CSV_FILE_READ(D:\Test\File01.csv,data,1)}
{%MSGBOX("{%GET_USER_DATA(data_X500,1)}"
"{%GET_USER_DATA(data_X500,2)}"
"{%GET_USER_DATA(data_X500,3)}"
{%GET_USER_DATA(data,Count)}
)}
例2
「D:\Test\File01.csv」を読み込んで、3行目のレコードの項目1〜3と、読み込み項目数を表示する。
{%CSV_FILE_READ(D:\Test\File01.csv,data,0)}
{%MSGBOX("{%GET_USER_DATA(data_3,1)}"
"{%GET_USER_DATA(data_3,2)}"
"{%GET_USER_DATA(data_3,3)}"
{%GET_USER_DATA_COUNT(data_3)}
)}
NAME ファイル読み込みとマクロ実行
FORMAT {%FILE_READ_AND_MACRO_EXECUTE(ファイル名,ユーザデータ名,グローバルデータ名)}

ファイル名に指定されたテキストファイルを行単位で読み込みます。1行読むたびに引数のグローバルデータで定義されたマクロを実行します。あらかじめグローバルデータで実行するマクロを定義しておく必要があります。

読み取った行の内容は引数のユーザデータとキー「1」を指定することで参照できます。1行毎に毎回、キー「1」にセットしますので、使用するメモリは1行分のデータだけとなります。
また、読み取り行数は、キーに「Count」を指定することで参照できます。

但し、eDocArrangementのマクロ実行は処理速度が遅いので、行数の多いテキストファイルに対して処理を行うことはお勧めできません。実測して実用的なケースでご利用ください。

例1
「D:\Test\File01.txt」を読み込んで、1行毎にグローバルデータ「Macro1」で定義されているマクロを実行します。以下の場合、グローバルデータで定義するマクロでは、「{%GET_USER_DATA(Data,1)}」と書くと、テキストの1行が参照できます。
{%FILE_READ_AND_MACRO_EXECUTE(D:\Test\File01.txt,Data,Macro1)}
NAME ファイル書き込み
FORMAT {%FILE_WRITE(ファイル名,ユーザデータ名,モード)}

引数に指定されたユーザデータの内容を、テキストファイルに書き込みます。ユーザデータは一つのキーが1行になり、ファイルには値が出力されます。出力順は、ユーザデータの登録順になります。

モードには、「OUTPUT」または「APPEND」を指定します。「OUTPUT」の場合、ファイルが既に存在した場合に上書きになります。「APPEND」は追加書き込みになります。ファイルが存在しない場合は、両方共に新しく作成します。

例1
ユーザデータ「Temp」の内容を「C:\data.txt」に書き込みます。
{%SET_USER_DATA(Temp,1,番号\,注文数\,税込金額)}
{%SET_USER_DATA(Temp,2,100\,1\,200)}
{%FILE_WRITE(C:\data.txt,Temp,OUTPUT)}

◆出力されたテキストファイルの内容
番号,注文数,税込金額
100,1,200
NAME ファイル検索(フォルダ検索)
FORMAT {%SEARCH_FILE(フォルダ名,ファイル名,データ名,サブフォルダ検索指定[,フォルダ検索指定][,検索結果の形式])}

指定のフォルダからファイル又は、フォルダを検索します。

フォルダ名には、検索するフォルダを指定します。

ファイル名に検索したいファイルを指定します。ファイル名にはワイルドカードが使用できます。;(セミコロン)で区切ることによって複数指定が可能です。

データ名には、検索結果を保存するユーザデータのデータ名を指定します。

サブフォルダ検索指定には、「SUB_DIR」又は「CURRENT_DIR」を指定します。「SUB_DIR」を指定するとサブディレクトリも検索の対象となります。「CURRENT_DIR」を指定すると指定したフォルダのみを検索対象とします。

フォルダ検索指定には、「FOLDER」又は「FILE」を指定します。「FOLDER」を指定すると検索対象がファイルではなくフォルダのみとなります。省略すると「FOLDER」となります。

検索結果の形式には、「FULL」又は「NAME」を指定します。「FULL」を指定すると検索結果がフルパスで格納されます。「NAME」を指定すると検索結果が名前のみで格納されます。省略すると「FULL」となります。

検索結果は指定したデータ名のユーザデータに格納されます。1から始まる連番がキーとなり、値にはフルパスファイル(フォルダ)名か、ファイル(フォルダ)名がセットされます。

例1
「C:\Home\図面」フォルダとその配下のフォルダから、ファイル「X0002.xdw」を検索します。結果は「FileList」という名前のユーザデータに保存します。検索した結果、ファイルが見つかった場合は、「発見!」+見つかったファイル名を表示し、見つからない場合は「見つからない」を表示します。
{%SEARCH_FILE(C:\Home\図面,X0002.xdw,FileList,SUB_DIR)}
#--
{%MSGBOX({%IF({%GET_USER_DATA_COUNT(FileList)}>0,発見! {%GET_USER_DATA(FileList,1)},見つからない)})}
例2
「C:\Home\図面」フォルダから、拡張子が「.xdw」のファイルと、拡張子が「.tif」のファイルを検索します。結果は「FileList」という名前のユーザデータに保存します。検索した結果を、見つかったファイルの数だけ繰り返し表示します。
{%SEARCH_FILE(C:\Home\図面,*.xdw;*.tif,FileList,CURRENT_DIR)}
#--
{%LOOP L1 {%GET_USER_DATA_COUNT(FileList)}(
{%MSGBOX({%GET_USER_DATA(FileList,[L_IDX(L1)])})}
)}
例3
「C:\Home\営業」フォルダから末尾が伊藤のフォルダを検索します。結果は「FolderList」という名前のユーザデータに保存します。検索した結果はフォルダ名のみで、見つかったフォルダの数だけ繰り返し表示します。
{%SEARCH_FILE(C:\Home\営業,*伊藤,FolderList,CURRENT_DIR,FOLDER,NAME)}
#--
{%LOOP L1 {%GET_USER_DATA_COUNT(FolderList)}(
{%MSGBOX({%GET_USER_DATA(FolderList,[L_IDX(L1)])})}
)}
NAME ファイル検索移動(キュー方式)
FORMAT {%MOVE_FILE_USING_QUEUE(検索フォルダ名,ファイル名,移動先フォルダ名,一時フォルダ名[,ソート対象][,並び順])}

指定のフォルダからファイルを検索し、最初に見つかったファイルを移動先フォルダに移動します。本マクロは、指定フォルダ内のファイルをキュー(待ち行列)方式で移動することを目的としています。処理は排他制御され、複数の端末から同時に本マクロを実行しても、同じファイルが2つのフォルダに移動(複製)されることはありません。

排他制御を行う為に、「.lock」というフォルダが一時フォルダに作成されます。処理が終了すると、「.lock」フォルダは削除されます。一時フォルダには、複数のPCから参照可能な共有フォルダを指定します。

検索フォルダ名には、検索するフォルダを指定します。共有フォルダを指定してください。

ファイル名に検索したいファイルを指定します。ファイル名にはワイルドカードが使用できます。;(セミコロン)で区切ることによって複数指定が可能です。

一時フォルダ名には、排他制御用のファイルを作成するフォルダを指定します。共有フォルダを指定してください。

移動先フォルダ名には、ファイルの移動先フォルダ名を指定します。ローカルフォルダを指定してください。

ソート対象には、「FILE」又は「DATE」を指定します。「FILE」が指定された場合、ファイル名でソートします。「DATE」が指定された場合、ファイルの更新日付でソートします。省略された場合は、ソートを行いません。

並び順には、「ASC」又は「DESC」を指定します。「ASC」が指定された場合、昇順でソートします。「DESC」が指定された場合、降順でソートします。

ファイルが移動出来た場合は、移動先ファイルのフルパスが返却されます。検索した結果ファイルが見つからない場合は、「ファイルが見つかりません。」が返却されます。他の処理が実行中の場合は「.lock」ファイルが存在するため、処理待ちになりますが、3秒間の間に数回リトライしてタイムアウトとなります。その場合は、「タイムアウトが発生しました。」を返却します。

例1
「\\Server1\Home\Test\10_IN」フォルダから「*.xdw」を検索し、「C:\Home\Test\Local」フォルダに移動します。排他制御用に使用するフォルダは「\\Server1\Home\Test\90_排他制御」とします。ファイル名の昇順で並び変えを行い、最初に見つかったファイルをユーザデータwkのFileNameに保存します。
{%SET_USER_DATA(wk,FileName,{%MOVE_FILE_USING_QUEUE(\\\\Server1\Home\Test\10_IN,*.xdw,C:\Home\Test\Local,\\\\Server1\Home\Test\90_排他制御,FILE,ASC)})}
NAME クリップボード設定
FORMAT {%SET_CLIPBOARD_TEXT(文字列)}

文字列をクリップボードに記憶します。

例1
「ABC」をクリップボードに記憶する。
{%SET_CLIPBOARD_TEXT(ABC)}
NAME クリップボード取得
FORMAT {%GET_CLIPBOARD_TEXT}

クリップボードに記憶された文字列を取得します。

例1
クリップボードから文字列を取得する。
{%GET_CLIPBOARD_TEXT}
NAME 入力ボックス表示
FORMAT {%INPUTBOX(メッセージ,初期値,X座標,Y座標)}

引数のメッセージを入力ダイアログに表示し、入力された文字を返却します。X,Y座標は省略できます。省略した場合は画面中央付近に表示されます。

キャンセルが押された場合は空文字が返却されます。

例1
入力ダイアログを表示し、入力された文字を表示します。
{%MSGBOX({%INPUTBOX(名前を入力してください。,)})}
NAME QRコード画像作成
FORMAT {%CREATE_QR_BITMAP(画像ファイルのパス,内容,セルサイズ,誤り訂正レベル(L|M|Q|H),余白サイズ[,解像度])}

引数の内容に従ってQRコードを作成し、ビットマップ画像として保存します。

セルサイズは出力するQRコードの1ドットを表すピクセル数の指定になります。
誤り訂正レベルは、L,M,Q,Hの何れかを指定します。記号の意味は、それぞれ、L(7%),M(15%),Q(25%),H(30%)になります。
余白サイズはQRコードの周りの余白のピクセル数です。
解像度は省略可能です。縮小帳票などでQRコードを小さく印字したい場合は96以上の値を指定することで小さくできます。既定値は96です。

例1
「abc」をQRコードにしてビットマップ画像を「C:\Test\Image.bmp」に出力します。
{%CREATE_QR_BITMAP(C:\Test\Image.bmp,abc,2,M,3)}
例1
「abc」をQRコードにしてビットマップ画像を「C:\Test\Image.bmp」に出力し、文書に貼り付けた後、画像ファイルを削除します。 (マクロはページ単位に実行、保存する設定にしてください。)。
{%CREATE_QR_BITMAP(C:\Test\Image.bmp,abc,2,M,3)}
{%DW_PASTE_BITMAP_ANNOTATION({%PAGE_NO},C:\Test\Image.bmp,1000,1000)}
{%DELETE_FILE(C:\Test\Image.bmp)}
NAME メール送信
FORMAT {%SEND_MAIL(データ名(宛先),送信元メールアドレス,データ名(CC),データ名(BCC),件名,本文[,データ名(ファイル)][,データ名(オプション)])}

SMTPサーバの情報は、設定の基本設定で、「処理結果のメール通知、又は、SMTPサーバの設定を行う」にチェックを入れ、メール設定からサーバの情報を入力します。SMTPサーバの設定が行われていない場合はメール送信ができません。メール送信マクロを使用する場合は、必ず設定してください。

引数の説明は以下の通りです。

引数 内容
データ名(宛先) ユーザデータ名を指定します。事前にユーザデータに宛先のメールアドレスを値に設定します。キーは重複しないように数字等を指定してください。
送信元メールアドレス 送信元メールアドレスを指定します。
データ名(CC) ユーザデータ名を指定します。事前にユーザデータにCCの宛先のメールアドレスを値に設定します。キーは重複しないように数字等を指定してください。省略可。
データ名(BCC) ユーザデータ名を指定します。事前にユーザデータにBCCの宛先のメールアドレスを値に設定します。キーは重複しないように数字等を指定してください。省略可。
件名 件名を指定します。
本文 本文を指定します。
データ名(ファイル) ユーザデータ名を指定します。事前にユーザデータに添付ファイルのフルパスを値に設定します。キーは空文字にします。省略可。
データ名(オプション) ユーザデータ名を指定します。事前にユーザデータにメールオプションをセットしておきます。省略可。
メールオプションは、キーに「CATCH_ERR」を(値は空文字を)指定すると送信エラーとなった場合にエラーを発生させず、マクロの戻り値にFalseを返却します。また、エラーの内容をメールオプションで指定したユーザーデータのキー「ERR_MESSAGE」に格納します。(例3を参照)

マクロの戻り値は、正常時に「Ture」が返却されます。エラー時は、メールオプションの「CATCH_ERR」が指定されている場合は、「False」が返却されます。設定されていない場合は処理がメール送信マクロが中断されエラーになります。(Falseは返却されません。)

例1
「tom@test.com」宛にメールを送信します。
{%SET_USER_DATA(宛先,1,tom@test.com)}
{%SEND_MAIL(宛先,tom@test.com,,,テスト,本文です。)}
例2
「tom@test.com」と「ken@test.com」宛にメールを送信します。メールには処理中のファイルを添付します。
{%SET_USER_DATA(宛先,1,tom@test.com)}
{%SET_USER_DATA(宛先,2,ken@test.com)}
{%SET_USER_DATA(ファイル,1,{%FILE_FULL_PATH})}
{%SEND_MAIL(宛先,jerry@test.com,,,テスト,本文です。,ファイル)}
例3
「tom@test.com」宛にメールを送信します。送信時にエラーとなった場合は中断せず正常ログにエラーメッセージを出力します。
{%SET_USER_DATA(宛先,1,tom@test.com)}
{%SET_USER_DATA(option,CATCH_ERR,)}
#--
{%IF({%SEND_MAIL(宛先,tom@test.com,,,テスト,本文です。,,option)}=False,{%LOG_OUT({%GET_USER_DATA(option,ERR_MESSAGE)})},)}
NAME 画像情報取得
FORMAT {%GET_IMAGE_INFORMATION(画像ファイル名)}

引き数で指定した画像ファイルの解像度、縦幅、横幅を取得します。取得できる情報は以下の通りで、結果は「ImageInformation」という名前のユーザデータに格納されます。

BMP,Tiff,JPEG等の画像ファイルに対応しています。マルチページTiffは1ページ目の画像情報を取得します。

キー
Width 画像ファイルの横幅。(単位:mm)
Height 画像ファイルの縦幅。(単位:mm)
VerRes 画像ファイルの垂直方向の解像度。(単位:dpi)
HorRes 画像ファイルの水平方向の解像度。(単位:dpi)
Resolution 画像ファイルの垂直方向と水平方向の解像度の高い方。(単位:dpi)

例1
処理中のTiffファイルの画像情報をログに出力する。
{%GET_IMAGE_INFORMATION({%FILE_FULL_PATH})}
{%LOG_OUT(Width:{%GET_USER_DATA(ImageInformation,Width)})}
{%LOG_OUT(Height:{%GET_USER_DATA(ImageInformation,Height)})}
{%LOG_OUT(VerRes:{%GET_USER_DATA(ImageInformation,VerRes)})}
{%LOG_OUT(HorRes:{%GET_USER_DATA(ImageInformation,HorRes)})}
{%LOG_OUT(Resolution:{%GET_USER_DATA(ImageInformation,Resolution)})}
NAME スリープ(一定時間待つ)
FORMAT {%SLEEP(ミリ秒)}

引き数で指定した時間(単位はミリ秒)だけ待ちます。


例1
1秒待つ。
{%SLEEP(1000)}
NAME 文字検索結果抽出
FORMAT {%EXTRACT_FOUND_DATA(検索対象文字列,ユーザーデータ,項目位置,結果格納用ユーザーデータ)}

検索対象文字列からユーザーデータの項目位置の文字列を検索し、見つかった場合は、結果格納用ユーザーデータに行番号をセットします。

このマクロは、マスタファイル(CSV)にある製品コード全てを、ページ内テキストから検索して、見つかった製品コードだけをリストにするような場合に使用します。

引数のユーザーデータ、項目位置は、 CSVファイル読み込みマクロで、キー指定を行わない読み込みを行った結果のユーザーデータを対象にしています。(ユーザーデータは、「引数で指定されたユーザーデータ名 + "_" + 行番号」である想定)

結果格納用のユーザーデータには、見つかった行が値に、1〜の連番かキーにセットされます。


例1
CSVファイルを読み込み後、1番目の項目でOCR読取りの結果から、検索を行い見つかったデータの行番号と検索した値をログに出力します。
#CSV読み込み
{%CSV_FILE_READ({%GET_GLOBAL_DATA(TopFolder)}\90_System\10_マスター\master.csv,data,0)} 

{%LOG_OUT(CSV読み込み行数:{%GET_USER_DATA(data,Count)})}

#検索
{%EXTRACT_FOUND_DATA({%REPLACE({%P_DATA(OCR読み取り1.1)}, ,)},data,1,結果)}

{%LOG_OUT(見つかった数:{%GET_USER_DATA_COUNT(結果)})}

#--

{%LOOP L1 {%GET_USER_DATA_COUNT(結果)}(
  {%LOG_OUT(結果(行番号):{%GET_USER_DATA(結果,[L_IDX(L1)])})}
  {%LOG_OUT(結果(検索値):{%GET_USER_DATA(data_{%GET_USER_DATA(結果,[L_IDX(L1)])},1)})}
)}

結果例

マスタデータ
P001,A
P002,B
P003,C

OCR読取り結果
製品コードP002の在庫数は3。

上記のデータで実行した場合の結果
CSV読み込み行数:3
見つかった数:1
結果(行番号):2
結果(検索値):P002
NAME 制御コード除去
FORMAT {%REMOVE_CONTROL_CHAR(入力ファイル名,出力ファイル名)}

入力ファイル名に指定したテキストファイルから、制御コードを除去し、出力ファイル名に指定したファイルに出力します。

処理可能なテキストファイルの文字コードはSJISのみです。除去の対象となる文字コードは16進コードで00〜1F,7Fです。但し、改行(0A)、タブ(09)、復帰(0D)は除去しません。

出力ファイルをネットワークフォルダに指定すると、処理速度が遅くなりますので、ローカルフォルダに出力するようにしてください。


例1
「C:\Test\Test.csv」から制御コードを除去し、「C:\Test\Test_Out.csv」に出力します。
{%REMOVE_CONTROL_CHAR(C:\Test\Test.csv,C:\Test\Test_Out.csv)}
NAME ファイルループ中断
FORMAT {%STOP_FILE_LOOP()}

ファイルループを中断します。このマクロを実行すると、次のファイルは処理されず、ファイルループを中断します。


例1
ファイルループを中断する。
{%STOP_FILE_LOOP()}
NAME コマンド実行
FORMAT {%COMMAND(コマンド)}

コマンドを実行します。戻り値に実行したコマンドのリターンコードが返ります。

実行したコマンドが終了するまで待機します。コマンドが終了しない場合は永久に待機してしまいますので、そうなった場合はタスクマネージャーでeDocArrangementを強制終了して下さい。


例1
「C:\Home\Demo\System\picturetool.exe -i C:\Home\Demo\in\in.jpg -o C:\Home\Demo\out\out.png -t 100,100,200,200」を実行する。
{%COMMAND(C:\Home\Demo\System\picturetool.exe -i C:\Home\Demo\in\in.jpg -o C:\Home\Demo\out\out.png -t 100\,100\,200\,200)}