項目説明戻る

[外部データ印刷&取込]-[読込データ構造設定]-[読込位置設定]-[項目プロパティ]-[マクロ設定]

マクロを設定します。

マクロ設定

[マクロ(M)]

マクロを記述します。

●マクロの説明。

  1. 式は1行に1つの式で記述します。

  2. 値、変数は"[]"で囲みます。

  3. 数値は全て内部では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>

入力内容を登録します。

<キャンセル>

入力内容を登録せずに、前の画面に戻ります。

戻る