マクロを設定します。
[マクロ(M)]
マクロを記述します。
●マクロの説明。
式は1行に1つの式で記述します。
値、変数は"[]"で囲みます。
数値は全て内部ではDecimal型で計算します。
●使用できる演算子と優先順位。
優先順位の高い方から示します。
演算子 内容 NOT 論理否定演算子 ^ べき乗 *,x,/,%,MOD
*,x 掛け算 / 割り算 %,MOD 余り +,-
+ 足し算 - 引き算 AND,&,OR,XOR
AND,& 数値:論理演算AND
文字:結合OR 論理演算OR XOR 論理演算XOR ●使用できる関数。
DATEFORMAT
内容 : 日付型に変換した値をFORMATします。 使用例 : [$D1]=DATEFOMAT([$DAY],"MMdd")
伝票日付([$DAY])の月日を[$D1]にセットします。
伝票日付が2016/11/20のとき、[$D1]は"1120"
伝票日付が2016/09/20のとき、[$D1]は"0920"DCZERO
内容 : Decimalで小数点以下の末尾ゼロを削除します。 使用例 : [$1]=DCZERO([列:数値:41])
41列の値で小数点以下が存在するときは末尾ゼロを削除します。
列41="10.00"のとき、[$1]は10。
列41="10.50"のとき、[$1]は10.5。FIX
内容 : 数値の整数部を返します。 使用例 : [$1]=FIX([列:数値:41])
列41="10"のとき、[$1]は10。
列41="10.1"のとき、[$1]は10。
列41="10.9"のとき、[$1]は10。FORMAT
内容 : 数値をFORMATします。 使用例 : [$D2]=FORMAT([$A2],"0000")
[$A2]が1のとき、[$D2]は"0001"。
[$A2]が10のとき、[$D2]は"0010"。LEFT
内容 : 指定された文字数を含む文字列を返します。 使用例 : [$1]=LEFT([列:文字:10],5)
列10が"123456789"のとき、[$1]は"12345"。
列10が"123"のとき、[$1]は"123"。LEN
内容 : 文字数を返します。 使用例 : [$1]=LEN([列:文字:10])
列10が"123456789"のとき、[$1]は9。
列10が"123"のとき、[$1]は3。MID
内容 : 文字列から指定された文字数を含む文字列を返します。 使用例 : [$1]=MID([列:文字:10],2,6)
列10が"123456789"のときは、[$1]は"234567"。
列10が"123"のときは、[$1]は"23"。
[$1]=MID([列:文字:10],2)
列10が"123456789"のときは、[$1]は"23456789"。RIGHT
内容 : 文字列の右側から、指定された文字数を含む文字列を返します。 使用例 : [$1]=RIGHT([列:文字:10],5)
列10が"123456789"のときは、[$1]は"56789"。
列10が"123"のときは、[$1]は"123"。STR
内容 : 数値を文字に変換します。 使用例 : [$1]=STR([$1])
変数[$1]を数値型から文字型にします。TRIM
内容 : 先頭と後続の空白を削除します。 使用例 : [$1]=TRIM([列:文字:10])
列10が" 123 "のときは、[$1]は"123"。
列10が"123 "のときは、[$1]は"123"。
列10が" 123"のときは、[$1]は"123"。
列10が"123"のときは、[$1]は"123"。TRIMEND
内容 : 後続の空白を削除します。 使用例 : [$1]=TRIM([列:文字:10])
列10が" 123 "のときは、[$1]は" 123"。
列10が"123 "のときは、[$1]は"123"。
列10が" 123"のときは、[$1]は" 123"。
列10が"123"のときは、[$1]は"123"。TRIMSTART
内容 : 先頭の空白を削除します。 使用例 : [$1]=TRIM([列:文字:10])
列10が" 123 "のときは、[$1]は"123 "。
列10が"123 "のときは、[$1]は"123 "。
列10が" 123"のときは、[$1]は"123"。
列10が"123"のときは、[$1]は"123"。●値、変数などの記述方法。
列の値
内容 : CSV型式で1行毎に読込んだデータが対象になります。
列の番号を指定します。記述例 : [列 + :(コロン) + 「"数値"または"文字"」 + :(コロン) + 列番号 + ] 使用例 : 数値として扱うとき
[$1]=[列:数値:1]
1列目のデータを数値として変数[$1]にセットします。
文字列として扱うとき
[$1]=[列:文字:2]
2列目のデータを文字として変数[$1]にセットします。
位置の値
内容 : レコード単位形式で1行毎に読込んだデータが対象になります。
位置(開始位置、文字数)を指定します。記述例 : [列 + :(コロン) + 「"数値"または"文字"」 + :(コロン) + 開始位置 + :(コロン) + 文字数 + ] 使用例 : 読込文字列が"012345678・・・"のとき。
数値として扱うとき
[$1]=[位置:数値:1:2]
1文字目から2文字分を数値として変数[$1]にセットします。
("01"を数字として1を[$1]にセットします。)
文字列として扱うとき
[$1]=[列:文字:2:3]
2文字目から3文字分を文字として変数[$1]にセットします。
("123"を文字として[$1]にセットします。)
値
内容 : マクロを実行した結果[値]の内容が項目値になります。 記述例 : [値] 使用例 : [値]=[列:数値:1]+[列:数値:2]
列1の内容+列2の内容を設定項目の値にします。数値
内容 : 数値は"[]"内に指定する数値を記述します。 使用例 : [$1]=[1]+[5]
[$1]は1+5の結果6。文字列
内容 : 文字列は"[]"内にダブルコーテーションで囲んで記述します。 使用例 : [$1]=["ABC"]+["XYZ"]
[$1]は"ABCXYZ"。全データの読込中で共通な変数
内容 : 全データの読込中で共通な変数は"[$A" + 数値 + "]"で記述します。 使用例 : [$A1]=["ABC"]+["XYZ"]
[$A2]=[1]+[2]
"[$A"で始まる※<データ読込>または<読込印刷>で読み込むデータ単位です。 1伝票単位で共通な変数
内容 : 1伝票の読込中で共通な変数は"[$D" + 数値 + "]"で記述します。 使用例 : [$D1]=["ABC"]+["XYZ"]
[$D2]=[1]+[2]
"[$D"で始まる1行読込単位で共通な変数
内容 : 1行読込で共通な変数は"[$" + 数値 + "]"で記述します。 使用例 : [$1]=["ABC"]+["XYZ"]
[$2]=[1]+[2]
"[$"の後に数値を指定予約変数
[$DAY] : 伝票の年月日を示します。 使用例 : [$D1]=DATEFOMAT([$DAY],"MMdd") ●SELECT CASEの記述方法。
条件式の値に従って、ブロックのいずれかを実行させます。
SELECT CASE [変数]
CASE [変数]
:
CASE ELSE
:
END SELECT
SELECT CASE [変数]で指定した[変数]の値と同じ値をしたCASE [変数]内のブロックを実行します。
例:
SELECT CASE [列:数値:1]
Case [0]:[値]=MID([列:文字:5],11,5)
Case [1]
SELECT CASE [列:数値:2]
Case [7]:[値]=MID([列:文字:5],9,5)
Case [9]:[値]=MID([列:文字:5],11,3)
END SELECT
Case Else
[$3]=RIGHT([列:文字:5],6)
[値]=MID([$3],1,5)
END SELECT
例の説明:
列5が"0123456789012345"のとき。
○列1が0のとき
SELECT CASE [列:数値:1]
Case [0]:[値]=MID([列:文字:5],11,5)
Case [1]
SELECT CASE [列:数値:2]
Case [7]:[値]=MID([列:文字:5],9,5)
Case [9]:[値]=MID([列:文字:5],11,3)
END SELECT
Case Else
[$3]=RIGHT([列:文字:5],6)
[値]=MID([$3],1,5)
END SELECT
項目値は"01234"がセットされます。
○列1が1で列2が7のとき
SELECT CASE [列:数値:1]
Case [0]:[値]=MID([列:文字:5],11,5)
Case [1]
SELECT CASE [列:数値:2]
Case [7]:[値]=MID([列:文字:5],9,5)
Case [9]:[値]=MID([列:文字:5],11,3)
END SELECT
Case Else
[$3]=RIGHT([列:文字:5],6)
[値]=MID([$3],1,5)
END SELECT
項目値は"89012"がセットされます。
○列1が1で列2が9のとき
SELECT CASE [列:数値:1]
Case [0]:[値]=MID([列:文字:5],11,5)
Case [1]
SELECT CASE [列:数値:2]
Case [7]:[値]=MID([列:文字:5],9,5)
Case [9]:[値]=MID([列:文字:5],11,3)
END SELECT
Case Else
[$3]=RIGHT([列:文字:5],6)
[値]=MID([$3],1,5)
END SELECT
項目値は"012"がセットされます。
○列1が0,1以外のとき
SELECT CASE [列:数値:1]
Case [0]:[値]=MID([列:文字:5],11,5)
Case [1]
SELECT CASE [列:数値:2]
Case [7]:[値]=MID([列:文字:5],9,5)
Case [9]:[値]=MID([列:文字:5],11,3)
END SELECT
Case Else
[$3]=RIGHT([列:文字:5],6)
[値]=MID([$3],1,5)
END SELECT
項目値は"01234"がセットされます。
<OK>
入力内容を登録します。
<キャンセル>
入力内容を登録せずに、前の画面に戻ります。