処理中ファイル書式 | 状態取得書式 | ユーザーデータ書式 | グローバルデータ書式 | 日付書式 | 文字列書式 | 数学書式 | 制御書式 | ファイルシステム書式 | テキストファイル書式 | データベース書式 | プロセス書式 | Web書式 | DocuWorks書式 | DocuWorks書式 (アノテーション関連) | 画像処理書式 | Excel書式 | その他の書式
状態取得書式は、処理の様々なステータスを取得します。
処理中の設定名を取得します。
{%WRITE_LOG({%GET(SettingName)})}
処理中の処理名を取得します。
{%WRITE_LOG({%GET(ProcName)}終了)}
オプション文字列を取得します。オプション文字列はプラグイン設定、及び、eDocArrangement2Commandの-oオプションで指定できます。
{%WRITE_LOG(オプション文字列:{%GET(OptionString)})}
処理結果を取得します。引き数の処理名の処理が正常終了した場合はTrue、異常終了した場合はFalseを返却します。
{%WRITE_LOG({%GET(ProcResult,マクロ実行1)})}
コマンド実行結果を取得します。処理名にはコマンド実行の処理名を指定します。コマンドのリターンコードが返却されます。
{%WRITE_LOG(コマンド実行1のリターンコード:{%GET(ProcExitCode,コマンド実行1)})}
処理中ファイルのカウンタを取得します。
{%MSGBOX({%GET(FileLoopCount)})}
処理中テキストの行カウンタを取得します。ヘッダ行やスキップした行もカウントします。テキストファイル上の絶対的な行カウントとなります。
{%MSGBOX({%GET(TextLoopCount)})}
処理中レコードの行カウンタを取得します。
{%MSGBOX({%GET(RecordLoopCount)})}
処理中プロセスのカウンタを取得します。
{%MSGBOX({%GET(RecordLoopCount)})}
繰り返し処理中の現在のカウンタを取得します。
{%MSGBOX({%GET(LoopCount)})}
ファイルの繰り返し処理のファイル数を返却します。
このマクロはファイルの繰り返し処理の中で使用できます。
{%WRITE_LOG({%GET(FileCount)})}
プロセス検索で見つかったプロセスの数を返却します。
このマクロのFormat1はプロセスの繰り返し処理の中で使用できます。
{%WRITE_LOG({%GET(ProcessCount)})}
発生したエラーの内容を取得できます。エラーの内容はエラー発生時に更新され、エラーの内容はいつでも取得することができます。
スケジューラー、及びサービスからの監視フォルダのファイル検索でエラーになった場合のエラーメッセージは取得できません。{%GET_ERROR_MESSAGE()}マクロを使ってください。
発生したエラーの内容を取得できます。エラーの内容はエラー発生時に更新され、エラーの内容はいつでも取得することができます。
本マクロでは、スケジューラー、及びサービスからの監視フォルダのファイル検索でエラーになった場合もエラーメッセージが取得できます。
eDocArrangement2 スケジューラーのスケジュール設定のその他タブから設定できる「ファイル検索エラー時のマクロ」で使用可能です。
発生したエラーの数を取得します。ループ処理の階層内でカレント階層のエラー数が取得できます。低階層で発生したエラーは上位階層のカウント数にも加算されます。
以下の例では、繰り返し1の処理が1回処理され、繰り返し2の処理が2回処理されると以下の様な結果となります。
■繰り返し1(繰り返し回数1) ■繰り返し2(繰り返し回数2) エラー発生! {%WRITE_LOG(ErrorCount:{%GET(CurrentErrorCount)})} エラー発生! {%WRITE_LOG(ErrorCount:{%GET(CurrentErrorCount)})}
結果 ErrorCount:1 ErrorCount:1 ErrorCount:3
引数に指定された連番設定の現在の番号を取得し、連番をカウントアップします。
連番設定でリセットを行う指定がある場合、引数のリセット判定日時処理名で指定された処理の開始日時を、リセット判定の日時に使用します。日付と連番を組み合わせた番号を扱う場合に使用してください。(例2参照)
本マクロで取得した番号は、メモリに保存され、後にGET_LAST_SEQ_NOマクロで取得できます。テキスト貼り付け後に、ファイル名等にも同じ番号を使用したい場合は、GET_LAST_SEQ_NOマクロを使用してください。
連番設定で増分にマイナス値を指定している場合、上限値を下限値として判定します。
{%GET_SEQ_NO_AND_COUNT_UP(連番1)}
「日付(yyyyMMdd) + "-" + 連番」(例 20191114-0001)のような日付と連番を組み合わせた番号を取得する場合。
日付と連番を組み合わせた番号を扱う場合、0時付近で処理を行った場合に、日付の取得と連番のリセットが日を跨いで処理してしまう可能性があります。そのため、処理開始時の日付取得マクロ(START_DATE)と、リセット判定日時処理名を指定した連番取得とカウントアップマクロを使用して、同じ日時を参照して処理を行うようにします。
{%START_DATE(ファイルの繰り返し1,yyyyMMdd)}-{%GET_SEQ_NO_AND_COUNT_UP(連番設定名,ファイルの繰り返し1)}
引数に指定された連番設定の、最後に連番取得とカウントアップされた番号を取得します。 このマクロは直前で、GET_SEQ_NO_AND_COUNT_UPマクロを使用した場合に、取得可能となります。直前のGET_SEQ_NO_AND_COUNT_UPマクロで取得した値が取得できます。 番号の取得のみで何度呼び出しても番号は更新されません。
想定される使用例として、ページに貼り付けた連番をファイル名に使用したい場合に、テキスト貼り付けで、「{%GET_SEQ_NO_AND_COUNT_UP(連番1)}」を使用し、その後のファイル移動のファイル名の欄に、「{%GET_LAST_SEQ_NO(連番1)}.xdw」と記述してください。
{%GET_LAST_SEQ_NO(連番1)}
引数に指定された連番設定名で新規に連番設定を作成します。
引数に指定された連番設定が存在する場合はなにもしません。
戻り値は連番設定を作成した場合True、作成しなかった場合Falseを返却します。
基本項目とリセットタイミングをユーザーデータを使って指定します。
連番設定を作成すると設定画面の連番設定に追加されます。
上限は設けておりませんので大量に登録することが可能ですが、設定画面を開いた時にツリーのノードが設定の数だけ並びます。
1000個ほど登録しても設定画面の速度低下はそれほどありませんが、それ以上必要とする場合は、テキストファイルで連番を管理するなどの設計をして頂くことを推奨いたします。
基本項目ユーザーデータ名と以下の項目をキーにして値を指定します。
番号 | 次に取得される番号。指定しない場合は1になります。 |
---|---|
増分 | 指定しない場合は1になります。 |
初期値 | 指定しない場合は1になります。 |
上限値 | 指定しない場合は上限を設定しません。 |
桁数 | 指定しない場合はゼロ埋めを行いません。指定した場合は指定した桁数になるようにゼロ埋めします。 |
連番共有ファイル | 指定しない場合は連番共有を行いません。指定した場合は指定したパスに連番共有ファイルを作成します。 |
リセット項目ユーザーデータ名、インデックス番号、単位又はタイミングをキーに指定します。
年毎 | タイミングは1月~12月のいずれかを指定できます。 {%SET_U(リセット,1,単位,年毎)} {%SET_U(リセット,1,タイミング,1月)} |
---|---|
月毎 | タイミングは1~31のいずれかを指定できます。 {%SET_U(リセット,1,単位,月毎)} {%SET_U(リセット,1,タイミング,1)} |
日毎 | タイミングは指定しません。 {%SET_U(リセット,1,単位,日毎)} |
指定日 | タイミングは日付を指定します。(yyyy/MM/ddの形式) {%SET_U(リセット,1,単位,指定日)} {%SET_U(リセット,1,タイミング,2023/08/01)} |
最終リセット日は、リセット項目ユーザーデータ名、最終リセット日(yyyy/MM/ddの形式)をキーに指定します。通常は指定しません。
{%SET_U(リセット,最終リセット日,)}
#連番設定 基本項目 {%SET_U(基本,番号,1)} {%SET_U(基本,増分,1)} {%SET_U(基本,初期値,1)} {%SET_U(基本,上限値,)} {%SET_U(基本,桁数,5)} {%SET_U(基本,連番共有ファイル,C:\eDocArrangement\連番管理\連番.db)} #毎年リセット {%SET_U(リセット,1,単位,年毎)} {%SET_U(リセット,1,タイミング,1月)} {%SET_U(リセット,最終リセット日,)} {%CREATE_SEQ_NO_SETTING(製造番号_A001,基本,リセット)}
以下、リセットの指定例 #毎月1日 {%SET_U(リセット,1,単位,月毎)} {%SET_U(リセット,1,タイミング,1)} #毎日 {%SET_U(リセット,1,単位,日毎)} #2023/08/01 {%SET_U(リセット,1,単位,指定日)} {%SET_U(リセット,1,タイミング,2023/08/01)}
引数に指定されたファイルに連番設定を保存するように切り替えます。
連番設定作成マクロ(CREATE_SEQ_NO_SETTING)を使用する前に本マクロでDBファイルを指定すると、連番設定を指定したファイルに保存するようになります。
同時に連番取得とカウントアップ(GET_SEQ_NO_AND_COUNT_UP)マクロ等の連番関連のマクロも指定したファイルからデータの読み書きを行うようになります。
マクロで動的に連番設定を追加するような処理の場合に、外部ファイルに設定を保存することができ、設定ファイルから分離することができます。
連番設定ファイル名を省略するとeDocArrangement2の設定ファイルに連番設定を保存するようになります。
本マクロは処理の実行時のみ有効で実行終了時に無効となります。eDocArrangement2の設定画面の連番設定の保存先を変更するものではありません。
{%SET_SEQ_NO_SETTING_FILE(D:\連番設定.db)}
{%SET_SEQ_NO_SETTING_FILE()}
引数に指定されたユーザーデータに連番設定リストを格納します。
ユーザーデータのキーは連番になります。
#連番設定リスト取得 {%GET_SEQ_NO_SETTING_LIST(LIST)} {%LOOP L1 {%GET_USER_DATA_COUNT(LIST)}( {%WRITE_LOG({%GET_U(LIST,[L_IDX(L1)])})} )}
引数に指定されたユーザーデータに連番設定を格納します。
格納される設定情報は、連番設定作成(CREATE_SEQ_NO_SETTING)で指定するユーザーデータと同じ仕様となります。
連番設定名を指定した場合は、以下の様にユーザーデータが格納されます。({%GET_SEQ_NO_SETTING(基本,リセット,連番1)}のように書いた場合)
番号 1 増分 1 初期値 1 上限値 桁数 5 連番共有ファイル C:\eDocArrangement\連番管理\連番.db
1 単位 年毎 タイミング 1月 最終リセット日 2024/01/01
連番設定名を省略した場合は、以下の様に全ての連番設定がユーザーデータが格納されます。({%GET_SEQ_NO_SETTING(基本,リセット)}のように書いた場合)
連番1 番号 1 増分 1 初期値 1 上限値 桁数 5 連番共有ファイル C:\eDocArrangement\連番管理\連番.db 連番2 番号 1 増分 1 初期値 1 上限値 桁数 5 連番共有ファイル C:\eDocArrangement\連番管理\連番.db
連番1 1 単位 年毎 タイミング 1月 最終リセット日 2024/01/01 連番2 1 単位 年毎 タイミング 1月 最終リセット日 2024/01/01
連番設定名を省略してユーザーデータを1つだけ指定した場合は、以下の様に全ての連番設定がユーザーデータが格納されます。({%GET_SEQ_NO_SETTING(連番設定情報)}のように書いた場合)
連番1 番号 1 増分 1 初期値 1 上限値 桁数 5 連番共有ファイル C:\eDocArrangement\連番管理\連番.db リセット 1 単位 年毎 タイミング 1月 最終リセット日 2024/01/01 連番2 番号 1 増分 1 初期値 1 上限値 桁数 5 連番共有ファイル C:\eDocArrangement\連番管理\連番.db リセット 1 単位 年毎 タイミング 1月 最終リセット日 2024/01/01
{%GET_SEQ_NO_SETTING(基本,リセット,連番1)}
{%GET_SEQ_NO_SETTING(連番設定情報)} {%SAVE_USER_DATA(D:\連番設定.txt,連番設定情報)}
引数に指定された連番設定が存在するか調べます。
戻り値は連番設定が存在する場合True、存在しない場合Falseを返却します。
{%EXISTS_SEQ_NO_SETTING(製造番号_A001)}
引数に指定された連番設定を削除する。
引数に指定された連番設定が存在しない場合はなにもしません。
戻り値は連番設定を削除した場合True、削除しなかった場合Falseを返却します。
連番共有がされていても連番共有ファイルは削除しません。
{%DELETE_SEQ_NO_SETTING(製造番号_A001)}
引数に指定された連番設定をリセットします。
引数に指定された連番設定が存在しない場合はエラーとなります。
{%RESET_SEQ_NO(製造番号_A001)}
引数に指定された連番設定の最終リセット日を取得します。
{%GET_SEQ_NO_LAST_RESET_DATE(製造番号_A001)}
コマンド実行で出力された標準出力、又は標準エラー出力の内容を取得します。 引数の種別には、「STD_OUT」又は「STD_ERROR」を指定します。 「STD_OUT」を指定した場合は標準出力、「STD_ERROR」を指定した場合は標準エラー出力の内容が取得されます。いずれもコマンド実行の設定で「標準(エラー)出力の内容を出力する」の設定が有効の場合にのみ取得可能です。
{%MSGBOX({%GET_COMMAND_OUTPUT(コマンド1,STD_OUT)})}
以下の処理でセットした分割データを取得します。
本マクロはファイル移動・コピーで、分割マークのある頁で分割する場合に、フォルダ名、ファイル名で使用するマクロで使用可能です。
ページ分割されたファイルの移動・コピー先フォルダや、ファイル名に該当のページの分割データを使用できます。
引数の対象ファイルのフルパスファイル名には、ページ分割を行うXDW文書のフルパスファイル名を指定します。
引数の処理名には分割マークをつけた読み取り処理の処理名を指定します。
{%GET_SPLIT_DATA({%GET(FullPathFileName)},QRコード読み取り1)}.xdw
分割データに任意のデータをセットします。
本マクロはファイル移動・コピーで、分割マークのある頁で分割するためのデータを作成します。
{%SET_SPLIT_DATA({%GET(FullPathFileName)},分割データ,{%DW_GET(PageLoopCount)},{%DW_GET(PageLoopCount)})}