HELP

共通マクロ書式

テキストファイル書式

NAME テキスト行取得
FORMAT {%GET_LINE(テキスト読み込み処理名)}

テキスト読み込みで読み込んだテキストを1行取得します。処理名に対象となるテキスト読み込みの処理名を指定してください。

例1
「伊藤由美子,女性,24,東京都品川区」のデータをテキスト読み込み1で読み込んだ場合、以下のマクロでは「伊藤由美子,女性,24,東京都品川区」が表示されます。
{%MSGBOX({%GET_LINE(テキスト読み込み1)})}
NAME テキスト取得
FORMAT {%GET_FIELD_VALUE(テキスト読み込み処理名,列番号)}

テキスト読み込みで読み込んだテキスト、又は、SQL実行のSLELCT文の結果レコードを取得します。処理名に対象となるテキスト読み込み、又は、SQL実行の処理名を指定してください。

列番号は、対象の項目番号を指定します。

例1
「伊藤由美子,女性,24,東京都品川区」のデータをテキスト読み込み1で読み込んだ場合、以下のマクロでは「女性」が表示されます。
{%MSGBOX({%GET_FIELD_VALUE(テキスト読み込み1,2)})}
NAME テキスト項目設定
FORMAT {%SET_FIELD_VALUE(テキスト読み込み処理名,列番号,値)}

テキスト読み込みで読み込んだテキストの配列に値をセットします。処理名に対象となるテキスト読み込みを指定してください。

列番号は、対象の項目番号を指定します。

本マクロは、テキスト読み込みで読み込んだデータを部分的に変更したい場合に使用します。

例1
「伊藤由美子,女性,24,東京都品川区」のデータをテキスト読み込み1で読み込んだ場合、以下のマクロでは「28」が表示されます。
{%SET_FIELD_VALUE(テキスト読み込み1,3,28)}

{%MSGBOX({%GET_FIELD_VALUE(テキスト読み込み1,3)})}
NAME CSVテキスト取得
FORMAT {%GET_FIELD_VALUES_IN_CSV(テキスト読み込み処理名,列番号,列番号,…)}

テキスト読み込みで読み込んだテキスト、又は、SQL実行のSLELCT文の結果レコードをCSV(カンマ区切り)で取得します。処理名に対象となるテキスト読み込み、又は、SQL実行の処理名を指定してください。

列番号は、対象の項目番号を指定します。列番号は複数記述することが可能です。例えば1番目と2番目の項目を取得したい場合は、1,2と記述します。2番目~5番目の項目を取得したい場合は、2-5と記述します。1,3-5のようにカンマとハイフンを組み合わせて指定することも可能です。1-や-3のように、開始や終了の列番号を省略することも可能です。

取得されるテキストはCSV形式になります。複数の項目がカンマで区切られ、項目中にカンマがある場合は、項目が”で囲われます。単一の列を取得する場合でも、項目中にカンマがある場合は、項目が”で囲われます。

項目中に"がある場合は、""と2つ続けて記述され、項目が”で囲われます。

例1
「伊藤由美子,女性,24,東京都品川区」のデータをテキスト読み込み1で読み込んだ場合、以下のマクロでは「女性,東京都品川区」が表示されます。
{%MSGBOX({%GET_FIELD_VALUES_IN_CSV(テキスト読み込み1,2,4)})}
例2
「伊藤由美子,女性,24,東京都品川区」のデータをテキスト読み込み1で読み込んだ場合、以下のマクロでは「伊藤由美子,女性,24」が表示されます。
{%MSGBOX({%GET_FIELD_VALUES_IN_CSV(テキスト読み込み1,1-3)})}
例3
「伊藤由美子,女性,24,"東京都,品川区"」のデータをテキスト読み込み1で読み込んだ場合、以下のマクロでは「伊藤由美子,"東京都,品川区"」が表示されます。
{%MSGBOX({%GET_FIELD_VALUES_IN_CSV(テキスト読み込み1,1,4)})}
例4
「伊藤由美子,女性,24,"東京都,品川区","タイトル""夏の思い出"""」のデータをテキスト読み込み1で読み込んだ場合、以下のマクロでは「伊藤由美子,"東京都,品川区","タイトル""夏の思い出"""」が表示されます。
{%MSGBOX({%GET_FIELD_VALUES_IN_CSV(テキスト読み込み1,1,4,5)})}
NAME TSVテキスト取得
FORMAT {%GET_FIELD_VALUES_IN_TSV(テキスト読み込み処理名,列番号,列番号,…)}

テキスト読み込みで読み込んだテキスト、又は、SQL実行のSLELCT文の結果レコードをTSV(タブ区切り)で取得します。処理名に対象となるテキスト読み込み、又は、SQL実行の処理名を指定してください。

返却文字列がタブ区切りとなる以外は、CSVテキスト取得マクロと同じ仕様となります。

NAME SVテキスト取得
FORMAT {%GET_FIELD_VALUES_IN_SV(テキスト読み込み処理名,区切り文字,エスケープ有無(有|無),囲い文字,全項目囲い文字付与有無(有|無),項目番号,項目番号,…)}

テキスト読み込みで読み込んだテキスト、又は、SQL実行のSLELCT文の結果レコードを引数で指定された区切り文字区切りで取得します。処理名に対象となるテキスト読み込み、又は、SQL実行の処理名を指定してください。

基本的な動作はCSVテキスト取得マクロと同じですが、区切り文字、エスケープ処理の有無、囲い文字、全ての項目に囲い文字を付与するかどうかを指定可能です。

エスケープ処理は、項目中に区切り文字が含まれている場合に、囲い文字で項目を囲います。また、項目中に囲い文字が含まれている場合に囲い文字を2つ続けて記述し、囲い文字で項目を囲います。

例えば1番目のデータが「123」、2番目のデータが「A,BC」の場合、「123,"A,BC"」と取得されます。

1番目のデータが「123」、2番目のデータが「A"BC」の場合、「123,"A""BC"」と取得されます。

全項目囲い文字付与有無に「有」が指定された場合は、全項目が囲い文字で囲われます。エスケープ処理ではないので、同時にエスケープ処理を行いたい場合は、エスケープ有無に「有」を合わせて指定してください。

例1
「伊藤由美子,女性,24,"東京都,品川区","タイトル""夏の思い出"""」のデータをテキスト読み込み1で読み込んだ場合、以下のマクロでは「"伊藤由美子"|"女性"|"24"|"東京都,品川区"|"タイトル""夏の思い出"""」が表示されます。
{%MSGBOX({%GET_FIELD_VALUES_IN_SV(テキスト読み込み1,||,有,",有,1-)})}
例2
「伊藤由美子,女性,24,"東京都,品川区","タイトル""夏の思い出"""」のデータをテキスト読み込み1で読み込んだ場合、以下のマクロでは「伊藤由美子,女性,24,東京都,品川区,タイトル"夏の思い出"」が表示されます。
{%MSGBOX({%GET_FIELD_VALUES_IN_SV(テキスト読み込み1,|,,無,',無,1-5)})}
例3
「伊藤由美子,女性,24,"東京都,品川区","タイトル""夏の思い出"""」のデータをテキスト読み込み1で読み込んだ場合、以下のマクロでは「伊藤由美子,女性,24,'東京都,品川区',タイトル"夏の思い出"」が表示されます。
{%MSGBOX({%GET_FIELD_VALUES_IN_SV(テキスト読み込み1,|,,有,',無,1-5)})}
NAME テキスト取得(列名で指定)
FORMAT {%GET_FIELD_VALUE_BY_NAME(テキスト読み込み処理名,列名)}

GET_FIELD_VALUE と同じですが、項目を列名で指定できます。但し、ヘッダ情報があるテキストを読み込んだ場合のみ使用できます。SQL実行のSELECT文の結果レコードに対しては使用できません。

例1
ヘッダに「氏名,性別,年齢,住所」が存在する場合で、「伊藤由美子,女性,24,東京都品川区」のデータをテキスト読み込み1で読み込んだ場合、以下のマクロでは「女性」が表示されます。
{%MSGBOX({%GET_FIELD_VALUE(テキスト読み込み1,性別)})}
NAME CSVテキスト取得(列名で指定)
FORMAT {%GET_FIELD_VALUES_IN_CSV_BY_NAME(テキスト読み込み処理名,列名,列名,…)}

GET_FIELD_VALUES_IN_CSV と同じですが、項目を列名で指定できます。但し、ヘッダ情報があるテキストを読み込んだ場合のみ使用できます。SQL実行のSELECT文の結果レコードに対しては使用できません。

例1
ヘッダに「氏名,性別,年齢,住所」が存在する場合で、「伊藤由美子,女性,24,"東京都,品川区"」のデータをテキスト読み込み1で読み込んだ場合、以下のマクロでは「女性,"東京都,品川区"」が表示されます。
{%MSGBOX({%GET_FIELD_VALUES_IN_CSV_BY_NAME(テキスト読み込み1,性別,住所)})}
NAME TSVテキスト取得(列名で指定)
FORMAT {%GET_FIELD_VALUES_IN_TSV_BY_NAME(テキスト読み込み処理名,列名,列名,…)}

GET_FIELD_VALUES_IN_TSV と同じですが、項目を列名で指定できます。但し、ヘッダ情報があるテキストを読み込んだ場合のみ使用できます。SQL実行のSELECT文の結果レコードに対しては使用できません。

NAME SVテキスト取得(列名で指定)
FORMAT {%GET_FIELD_VALUES_IN_SV_BY_NAME(テキスト読み込み処理名,区切り文字,列名,列名,…)}

GET_FIELD_VALUES_IN_SV と同じですが、項目を列名で指定できます。但し、ヘッダ情報があるテキストを読み込んだ場合のみ使用できます。SQL実行のSELECT文の結果レコードに対しては使用できません。

NAME テキストファイル読み込み
FORMAT {%READ_FILE(ファイル名,ユーザーデータ名,文字コード(SJIS|UTF-8|UTF-16|UTF-16BE|EUC|JIS|自動),行モード(LINE|ALL))}

テキストファイルからテキストを読み込みます。本マクロはテキスト読み込み処理と関係なく単独で使用できます。文字コードは「SJIS」、「UTF-8」、「UTF-16」、「UTF-16BE」、「EUC」、「JIS」、「自動」の何れかを指定します。

ユーザーデータ名で指定されたユーザーデータを作成して、読み込んだテキストを格納します。行モードが「LINE」の場合、行単位に読み込み行番号をキーとしてユーザーデータに格納します。行モードが「ALL」の場合、全行を読み込み、キー「1」としてユーザーデータに格納します。

改行コードについて

行モードが「LINE」の場合、読み込み後のテキストの改行コードはCRLFになります。

行モードが「ALL」の場合、読み込み後のテキストの改行コードはテキストファイルの改行コードと同じになります。

指定されたファイルが見つからない場合は、戻り値にFalseを返します。処理が正常に終了した場合はTrueを返します。

本マクロは1MB以下くらいの小さなテキストファイルを対象にすることを想定しています。テキストデータを全てメモリに読み込みますので、大きなファイルを対象にするとアプリケーションがフリーズしたり、エラーがでる可能性があります。大きなファイルを扱う場合は、テキスト読み込み処理を使って設定を作成してください。
例1
テキストファイル「D:\data.txt」の内容を全て読み込んで、内容をクリップボードにセットする。
{%READ_FILE(D:\data.txt,text,SJIS,ALL)}

{%SET_CLIPBOARD_TEXT({%GET_USER_DATA(text,1)})}
例2
テキストファイル「D:\data.txt」の内容を行単位で全て読み込んで、2行目の内容をクリップボードにセットする。
{%READ_FILE(D:\data.txt,text,SJIS,LINE)}

{%SET_CLIPBOARD_TEXT({%GET_USER_DATA(text,2)})}
NAME テキストファイル書き込み
FORMAT {%WRITE_FILE(ファイル名,ユーザーデータ名,エンコーディング(SJIS|UTF-8|UTF-8WB|UTF-16|UTF-16BE|EUC|JIS)[,書き込みモード(New|Append)])}

ユーザーデータの1階層目の1要素を1行として、全要素をファイルに書き込みます。

ユーザーデータは1階層のみ対象としています。(2階層以降のデータは無視されます)

エンコーディングの「UTF-8」 は、BOM無しUTF-8を「UTF-8WB」 は、BOM有りUTF-8を表しています。

書き込みモードが「New」の場合は新規でファイルを作成します。同名のファイルがある場合は上書きします。

書き込みモードが「Append」の場合は追加書き込みします。ファイルがない場合は新規作成します。

書き込みモードが省略された場合はNewとなります。

例1
「D:\test.txt」にユーザーデータの内容をSJISで新規ファイルとして出力する。
{%ADD_USER_DATA(writeData,WRITE_FILEマクロについて)}
{%ADD_USER_DATA(writeData,ユーザーデータの内容をファイルに保存します。)}
{%WRITE_FILE(D:\test.txt,writeData,SJIS,New)}
NAME CSVファイル読み込み
FORMAT {%READ_CSV_FILE(ファイル名,ユーザーデータ名,文字コード(SJIS|UTF-8|UTF-16|UTF-16BE|EUC|JIS|自動),ヘッダ行,データ開始行,行キー(項目番号|0),項目キータイプ(項目名|番号)[,区切り文字])}

CSVファイルからテキストを読み込みます。本マクロはテキスト読み込み処理と関係なく単独で使用できます。文字コードは「SJIS」、「UTF-8」、「UTF-16」、「UTF-16BE」、「EUC」、「JIS」、「自動」の何れかを指定します。

ユーザーデータ名で指定されたユーザーデータを作成して、読み込んだテキストを格納します。行単位に読み込み、行番号を分類キーで作成し、項目毎にユーザーデータに格納します。

ヘッダ行にはヘッダの行番号を指定します。ヘッダ行がない場合は0を指定します。

データ開始行には、データ行の先頭の行番号を指定します。

行キーには、キーとなる項目番号(1~)を指定します。キーを複数指定する場合は、「1-2」のようにハイフンで区切ります。

行キーに項目番号を指定した場合、指定された項目のデータに重複がある場合、最後に読み込んだデータで上書きされます。また、項目が空文字だった場合は重複しない連番を自動付与したキーが作成されます。

行キーに0を指定すると行のキーは番号(1~)になります。

項目キータイプに項目名を指定した場合は、ヘッダ行に1以上の数字を指定する必要があります。ヘッダ行に指定された行の項目名をキーとして使用します。ヘッダ行が0の場合は項目名は番号となります。

項目キータイプに番号を指定した場合は項目番号がキーとなります。

区切り文字は省略可能です。指定した場合は指定した文字を区切り文字として処理します。タブを指定したい場合は「<Tab>」を指定します。

指定されたファイルが見つからない場合は、戻り値にFalseを返します。処理が正常に終了した場合はTrueを返します。

本マクロは1MB以下くらいの小さなファイルを対象にすることを想定しています。テキストデータを全てメモリに読み込みますので、大きなファイルを対象にするとアプリケーションがフリーズしたり、エラーがでる可能性があります。大きなファイルを扱う場合は、テキスト読み込み処理を使って設定を作成してください。
例1
CSVファイル「D:\data.csv」の内容を読み込んで、ログに出力する。
{%READ_CSV_FILE(D:\data.csv,csv,SJIS,0,1,0,番号)}
{%LOOP L1 {%GET_USER_DATA_KEY_COUNT(csv)}(
  {%LOOP L2 {%GET_USER_DATA_KEY_COUNT(csv,[L_IDX(L1)])}(
    {%WRITE_LOG({%GET_U(csv,[L_IDX(L1)],[L_IDX(L2)])})}    
  )}
)}
例2
CSVファイル「D:\data.csv」の内容を読み込んで、ログに出力する。項目名指定。先頭行に「氏名,年齢,電話番号」が記載されたデータの場合。
{%READ_CSV_FILE(D:\data.csv,csv,SJIS,1,2,0,項目名)}
{%LOOP L1 {%GET_USER_DATA_KEY_COUNT(csv)}(
  {%WRITE_LOG({%GET_U(csv,[L_IDX(L1)],氏名)})}    
  {%WRITE_LOG({%GET_U(csv,[L_IDX(L1)],年齢)})}    
  {%WRITE_LOG({%GET_U(csv,[L_IDX(L1)],電話番号)})}    
)}
例3
CSVファイル「D:\data.csv」の内容を読み込んで、ログに出力する。学生番号を行のキーとする。項目名指定。先頭行に「学生番号,氏名,年齢,電話番号」が記載されたデータの場合。
{%READ_CSV_FILE(D:\data.csv,csv,SJIS,1,2,1,項目名)}

#学生番号が0003のデータを出力する
{%WRITE_LOG({%GET_U(csv,0003,氏名)})}    
{%WRITE_LOG({%GET_U(csv,0003,年齢)})}    
{%WRITE_LOG({%GET_U(csv,0003,電話番号)})}    
NAME CSVファイル書き込み
FORMAT {%WRITE_CSV_FILE(ファイル名,ユーザーデータ名,文字コード(SJIS|UTF-8|UTF-8WB|UTF-16|UTF-16BE|EUC|JIS)[,書き込みモード(New|Append)][,区切り文字])}

ユーザーデータの1階層目の1要素を1行、2階層目の1要素を項目として、全ての行、全ての項目をファイルに書き込みます。

ユーザーデータのキーは参照しません。キーに何が格納されていても動作に影響はありません。

エンコーディングの「UTF-8」 は、BOM無しUTF-8を「UTF-8WB」 は、BOM有りUTF-8を表しています。

書き込みモードが「New」の場合は新規でファイルを作成します。同名のファイルがある場合は上書きします。

書き込みモードが「Append」の場合は追加書き込みします。ファイルがない場合は新規作成します。

書き込みモードが省略された場合はNewとなります。

例1
ユーザーデータの内容をCSVファイル「D:\data.csv」に出力する。
{%ADD_USER_DATA(writeData,1,社員番号)}
{%ADD_USER_DATA(writeData,1,氏名)}
{%ADD_USER_DATA(writeData,2,0001)}
{%ADD_USER_DATA(writeData,2,織田信長)}
{%ADD_USER_DATA(writeData,3,0002)}
{%ADD_USER_DATA(writeData,3,武田信玄)}
{%WRITE_CSV_FILE(D:\data.csv,writeData,SJIS)}

結果 社員番号,氏名 0001,織田信長 0002,武田信玄
例2
ユーザーデータの内容をCSVファイル「D:\data.csv」に出力する。
{%SET_U(writeData,1,1,社員番号)}
{%SET_U(writeData,1,2,氏名)}
{%WRITE_CSV_FILE(D:\data.csv,writeData,SJIS,New)}
{%SET_U(writeData,1,1,0001)}
{%SET_U(writeData,1,2,織田信長)}
{%WRITE_CSV_FILE(D:\data.csv,writeData,SJIS,Append)}
{%SET_U(writeData,1,1,0002)}
{%SET_U(writeData,1,2,武田信玄)}
{%WRITE_CSV_FILE(D:\data.csv,writeData,SJIS,Append)}

結果 社員番号,氏名 0001,織田信長 0002,武田信玄

データベース書式

SQL実行で結果を返すSQL(SELECT)を実行した結果のレコードは、テキストファイル書式の「GET_FIELD_VALUES_IN_CSV」、「GET_FIELD_VALUES_IN_TSV」、「GET_FIELD_VALUES_IN_SV」マクロを使って取得できます。

NAME レコード取得
FORMAT {%GET_RECORD(DB接続処理名,格納先ユーザーデータ名,SQL)}

SQLを実行して条件にマッチしたレコードをユーザーデータにセットします。検索の結果レコードが複数マッチしても最初の1レコードのみ取得します。 結果は指定したユーザーデータ名に1から始まる番号をキーにして項目値が格納されます。

例1
テキスト読み込み1で取得した1番目の項目値をidの検索条件にして、「id_summary_tbl」テーブルを検索します。結果はユーザーデータ「RET」に格納されます。
{%GET_RECORD(DB接続1,RET,select count(id) from id_summary_tbl where id={%GET_FIELD_VALUES_IN_SQL_VALUES(テキスト読み込み1,1)};)}

上記のマクロを実行した結果、「id_summary_tbl」テーブルに該当のidが見つかった場合、1以上の数字がユーザーデータにセットされます。見つからない場合は0がセットされますので、以下の条件式でTrueを返却することができます。

{%IF({%GET_USER_DATA(RET,1)}=0,True,False)}
NAME テキストファイルからSQL項目値テキスト取得
FORMAT {%GET_FIELD_VALUES_IN_SQL_VALUES(テキスト読み込み処理名,列番号,列番号,…)}

テキスト読み込みで読み込んだテキスト、又は、SQL実行のSLELCT文の結果レコードをSQL用のカンマ区切りテキストとして取得します。本マクロでは、SQLに必要なエスケープ処理を行います。

例1
テキスト読み込み1で取得した1番目の項目値をidとして、id_summary_tblテーブルに登録するSQLは以下の様になります。
INSERT INTO id_summary_tbl (id,id_count) VALUES({%GET_FIELD_VALUES_IN_SQL_VALUES(テキスト読み込み1,1)},1);
NAME テキストファイルからSQL項目値テキスト取得(列名で指定)
FORMAT {%GET_FIELD_VALUES_IN_SQL_VALUES_BY_NAME(テキスト読み込み処理名,列名,列名,…)}

GET_FIELD_VALUES_IN_SQL_VALUES と同じですが、項目を列名で指定できます。但し、ヘッダ情報があるテキストを読み込んだ場合のみ使用できます。SQL実行のSELECT文の結果レコードに対しては使用できません。

NAME ユーザーデータからSQL項目値テキスト取得
FORMAT {%GET_USER_DATA_IN_SQL_VALUES(ユーザーデータ名)}

引数で指定されたユーザーデータの全項目値をSQL用のカンマ区切りテキストとして取得します。本マクロでは、SQLに必要なエスケープ処理を行います。

例1
ユーザーデータRETに格納されたデータをidとして、id_summary_tblテーブルに登録するSQLは以下の様になります。
INSERT INTO id_summary_tbl (id,id_count) VALUES({%GET_USER_DATA_IN_SQL_VALUES(RET)},1);
NAME トランザクション開始
FORMAT {%BEGIN_TRANSACTION(DB接続処理名)}

引数で指定されたDB接続のトランザクションを開始します。

例1
DB接続1のトランザクションを開始する。
{%BEGIN_TRANSACTION(DB接続1)}
NAME コミット
FORMAT {%COMMIT(DB接続処理名)}

引数で指定されたDB接続のトランザクションをコミットします。

例1
DB接続1のトランザクションをコミットする。
{%COMMIT(DB接続1)}
NAME ロールバック
FORMAT {%ROLLBACK(DB接続処理名)}

引数で指定されたDB接続のトランザクションをロールバックします。

例1
DB接続1のトランザクションをロールバックする。
{%ROLLBACK(DB接続1)}

画像処理書式

NAME 画像情報取得
FORMAT {%GET_IMAGE_INFORMATION(画像ファイル名,結果格納用ユーザーデータ)}

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

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

キー
Width 画像ファイルの横幅。(単位:mm)
Height 画像ファイルの縦幅。(単位:mm)
VerRes 画像ファイルの垂直方向の解像度。(単位:dpi)
HorRes 画像ファイルの水平方向の解像度。(単位:dpi)
Resolution 画像ファイルの垂直方向と水平方向の解像度の高い方。(単位:dpi)
例1
処理中のTiffファイルの画像情報をログに出力する。
{%GET_IMAGE_INFORMATION({%GET(FullPathFileName)},ImageInformation)}

{%WRITE_LOG(Width:{%GET_U(ImageInformation,Width)})}
{%WRITE_LOG(Height:{%GET_U(ImageInformation,Height)})}
{%WRITE_LOG(VerRes:{%GET_U(ImageInformation,VerRes)})}
{%WRITE_LOG(HorRes:{%GET_U(ImageInformation,HorRes)})}
{%WRITE_LOG(Resolution:{%GET_U(ImageInformation,Resolution)})}

その他の書式

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

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

例1
ユーザーデータの内容をダイアログで表示する。
{%SET_USER_DATA(Wk,Name,伊藤)}

{%MSGBOX({%GET_USER_DATA(Wk,Name)})}
NAME 入力ボックス表示
FORMAT {%INPUTBOX(メッセージ[,タイトル])}

引数のメッセージを入力ダイアログに表示して、入力値を返却します。

例1
「氏名を入力してください。」と入力ダイアログを表示して、入力された文字をユーザーデータにセットする。
{%SET_USER_DATA(Wk,Name,{%INPUTBOX(氏名を入力してください。)})}
NAME クリップボード設定
FORMAT {%SET_CLIPBOARD_TEXT(文字列)}

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

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

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

例1
クリップボードから文字列を取得する。
{%GET_CLIPBOARD_TEXT()}
NAME エラー出力
FORMAT {%RAISE_ERROR(エラーメッセージ)}

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

例1
データ名「商品データ」のキー「A001-00123」のユーザーデータが存在しなければエラーとする。
{%IF(({%EXISTS_USER_DATA(商品データ,A001-00123)}=True,,{%RAISE_ERROR(nameが見つかりません)})}
NAME ログ書式設定
FORMAT {%SET_LOG_FORMAT(文字列)}

ログ出力マクロ(WRITE_LOG)、及びエラーログ出力マクロ(WRITE_ERROR_LOG)で出力するログのフォーマットを設定します。

引数文字列に{0}を含めてください。ログの出力時にログ出力マクロで指定したメッセージの内容が{0}の位置に出力されます。

引数文字列にマクロを指定した場合は、SET_LOG_FORMATが実行されるときにはマクロの実行は行われません。ログを出力するときに指定したマクロが実行されます。

ログの出力で行われるマクロの実行でエラーが発生した場合は全て無視されます。

このマクロは一度設定するとメモリに保持され、アプリケーションの終了まで有効となります。

このマクロを何度も実行した場合は、呼び出す度に設定値が上書きされます。

スケジューラーの共通設定の監視開始時のマクロに記述するとサービス開始時、スケジューラーの監視開始時に実行され、以後のログ出力マクロすべてに適用されます。

例1
ログの書式を設定する。
{%SET_LOG_FORMAT(■{%GET(SettingName)} {0})}
{%WRITE_LOG(判定:{%GET_U(属性,判定)})}

設定名が「QRコード読み取り」、判定の内容が「True」の場合、以下のように出力されます。
2024/05/01 15:23:29 44 正常 ■QRコード読み取り 判定:True マクロ名[WRITE_LOG] {%WRITE_LOG(処理を実行しました。)}
NAME ログ出力
FORMAT {%WRITE_LOG(メッセージ)}

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

例1
処理結果に「処理を実行しました。」を出力する。
{%WRITE_LOG(処理を実行しました。)}
NAME エラーログ出力
FORMAT {%WRITE_ERROR_LOG(メッセージ)}

処理結果にエラーメッセージを出力します。ログ設定が有効になっていれば、通常のエラーログと一緒に出力されます。本マクロはエラーログを出力するだけで、エラーは発生しません。エラーを発生させたい場合はRAISE_ERRORマクロを使用してください。

例1
処理結果にエラーメッセージとして「エラーが発生しました。」を出力する。
{%WRITE_ERROR_LOG(エラーが発生しました。)}
NAME 待機
FORMAT {%SLEEP(ミリ秒)}

引数で指定された秒数だけ待機します。引数はミリ秒で指定します。

例1
1秒待機する。
{%SLEEP(1000)}
NAME メール送信
FORMAT {%SEND_MAIL(メールサーバー設定名,ユーザーデータ名(宛先),送信元メールアドレス,ユーザーデータ名(CC),ユーザーデータ名(BCC),件名,本文[,ユーザーデータ名(添付ファイル)][,ユーザーデータ名(エラー取得用)])}

SMTPサーバの情報は、メールサーバー設定から右クリックでメールサーバーを追加し、設定を行ってください。 SMTPサーバの設定が行われていない場合はメール送信ができません。メール送信マクロを使用する場合は、必ず設定してください。

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

引数 内容
メールサーバー設定名 メールサーバー設定のメールサーバー名を指定します。
データ名(宛先) ユーザーデータ名を指定します。事前にユーザーデータに宛先のメールアドレスを値に設定します。キーは何でもOKです。
送信元メールアドレス 送信元メールアドレスを指定します。
データ名(CC) ユーザーデータ名を指定します。事前にユーザーデータにCCの宛先のメールアドレスを値に設定します。キーは何でもOKです。省略可。
データ名(BCC) ユーザーデータ名を指定します。事前にユーザーデータにBCCの宛先のメールアドレスを値に設定します。キーは何でもOKです。省略可。
件名 件名を指定します。
本文 本文を指定します。
データ名(ファイル) ユーザーデータ名を指定します。事前にユーザーデータに添付ファイルのフルパスを値に設定します。キーは何でもOKです。省略可。
データ名(エラー取得用)

ユーザーデータ名を指定します。この引数を指定すると、メール送信時にメールサーバーからエラーが返って着た場合にエラーを発生させず、処理を続行します。 省略可。

メールサーバーから返されたエラーメッセージは、指定したユーザーデータのMessageに格納されます。

メール送信時に、メールサーバの異常などで送信エラーが発生した場合は、処理がエラーになります。マクロの戻り値は、正常時に「Ture」が返却され、エラー時はマクロ処理が中断され、最後まで処理が行われません。(エラー取得用のユーザーデータを引数に指定した場合は、マクロは中断されず、戻り値に「False」が返却されます。)

例1
「tom@test.com」宛にメールを送信します。メールには処理中のファイルを添付します。
{%SET_U(宛先,1,tom@test.com)}
{%SET_U(添付ファイル,1,{%GET(FullPathFileName)})}
{%SEND_MAIL(メールサーバー1,宛先,jerry@test.com,,,自動送信メール,このメールはeDocArrangementからの自動送信メールです。,添付ファイル)}
例2
「tom@test.com」宛にメールを送信します。(エラー発生時に処理を中断せず、ユーザーデータにエラーメッセージを格納します。)
{%SET_U(宛先,1,tom@test.com)}

{%IF({%SEND_MAIL(メールサーバー1,宛先,jerry@test.com,,,自動送信メール,このメールはeDocArrangementからの自動送信メールです。,,CatchError)}=False,
  {%WRITE_LOG({%GET_U(CatchError,Message)})}
,)}
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 {%COMMAND(実行ファイル,パラメーター[,Async])}

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

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

Asyncを指定した場合は、コマンド実行後に直ぐに制御が戻ります。コマンドは非同期で実行されます。

非同期で処理を行う場合は、処理の内容を十分に理解し、同時に処理が行われることで問題が生じないようにする必要があります。トラブルの発生時には非同期処理の問題解決は、より高度なスキルが必要になります。非同期処理の内容理解が十分でない場合は非同期処理を使用しないでください。

例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)}
NAME 外部マクロ実行
FORMAT {%LOAD_MACRO(ファイル名[,エンコード(SJIS|UTF-8|自動)])}

テキストファイルに記述されたマクロを読み込み、実行します。

エンコードを指定できます。省略するとSJISで読み込みます。

本マクロは入力ファイル等を処理すると、悪意のあるコードを実行することができてしまいます。セキュリティーに十分注意して使用してください。

例1
「D:\Home\Macro\macro.txt」に記述されたマクロを読み込み実行する。
{%LOAD_MACRO(D:\Home\Macro\macro.txt)}
NAME キー送信
FORMAT {%SEND_KEYS(送信内容)}

キー送信を行います。

各キーは、1つまたは複数の文字で表されます。 1つのキーボード文字を指定するには、文字自体を使用します。 たとえば、文字 A を表すには、文字列 "A" をメソッドに渡します。 A、B、および C という文字を表すには、引き数に "ABC" 指定します。

正符号 (+)、キャレット (^)、パーセント記号 (%)、チルダ (~)、およびかっこ () は、特別な意味を持ちます。 これらの文字のいずれかを指定するには、中かっこ{}で囲みます。 たとえば、プラス記号を指定するには、"{+}" を使用します。 中かっこ文字を指定するには、"{{}" および "}" を使用します。 角かっこ[]は特別な意味を持ちません。

キー コード
BackSpace {BACKSPACE} または {BS}
DELETE {DELETE} または {DEL}
上方向キー {UP}
右方向キー {RIGHT}
下方向キー {DOWN}
左方向キー {LEFT}
ENTER {ENTER}または~
ESC {ESCAPE} または {ESC}
Tab {TAB}
下方向キー {DOWN}
F1 ~ F15 {F1} から {F15} まで
Altキー %
Ctrlキー ^
Shftキー +()
例1
「test」とタブをキー送信する。
{%SEND_KEYS(test{TAB})}
例2
「Ctrl + A」をキー送信する
{%SEND_KEYS(^a)}
例3
「Shift + Ctrl + A」をキー送信する
{%SEND_KEYS(+(^a))}
NAME ウインドウ前面化
FORMAT {%SET_FOREGROUND_WINDOW(タイトル)}

引数のタイトルと同じウインドウを探して前面にする。

例1
「無題 - メモ帳」をフォアグラウンドにする。
{%SET_FOREGROUND_WINDOW(無題 - メモ帳)}
NAME プリンター有効チェック
FORMAT {%PRINTER_IS_ENABLED(プリンター名)}

プリンターが有効である場合はTrueを返却します。

判定処理としては、プリンターからジョブ数が正常に取得できるかのチェックを行っています。

プリンターが応答不能などの状態になった場合は、プリンターの状態を取得する処理で例外が発生するようになります。

その例外を検知した場合はFalseを返却します。

プリンターが一時停止などのステータス等は調べておりません。プリンターのプロパティが一時停止中や、物理プリンターの状態エラーの場合でも、プリンターが異常状態でなければTrueが返却されます。

「Microsoft Print to PDF」や「DocuWorks PDF」などの仮想プリンターは一時停止中であってもPDF出力は行われるようです。

存在しないプリンター名を指定した場合はエラーが発生します。

このマクロがFalseを返却する場合は、指定したプリンターが使用不可能な状態になっており、PCを再起動するまで復旧しない可能性が高いです。

例1
「DocuWorks PDF」が有効であるか調べる
{%PRINTER_IS_ENABLED(DocuWorks PDF)}