HELP

共通マクロ曞匏

日付曞匏

NAME 日付取埗
FORMAT {%DATE(日付曞匏,日時加枛算匏)}

日付曞匏には、日付を衚す日付蚘号を蚘述したす。日付蚘号は䞋蚘を参照しおください。

日付蚘号 内容
yy 西暊の幎を䞋 2 桁の数倀で返したす (00  99)。
yyyy 西暊の幎を 4 桁の数倀で返したす (100  9999)。
M 月を衚す数倀を返したす。1 桁の堎合、先頭に 0 が付きたせん (1  12)。1文字だけ単独で䜿甚する堎合は、%Mず蚘述したす。
MM 月を衚す数倀を返したす。1 桁の堎合、先頭に 0 が付きたす (01  12)。
d 日付を返したす。1 桁の堎合、先頭に 0 が付きたせん (1  31)。1文字だけ単独で䜿甚する堎合は、%dず蚘述したす。
dd 日付を返したす。1 桁の堎合、先頭に 0 が付きたす (01  31)。
ddd 曜日を英語 (省略圢) で返したす (Sun  Sat)。
aaa 曜日を日本語 (省略圢) で返したす (日土)。
aaaa 曜日を日本語で返したす (日曜日土曜日)。
g 幎号の頭文字を返したす (M、T、S、H)。1文字だけ単独で䜿甚する堎合は、%gず蚘述したす。
gg 幎号の先頭の 1 文字を挢字で返したす (明、倧、昭、平、什)。
ggg 幎号を返したす (明治、倧正、昭和、平成、什和)。
e 幎号に基づく和暊の幎を返したす。1 桁の堎合、先頭に 0 が付きたせん。1文字だけ単独で䜿甚する堎合は、%eず蚘述したす。
ee 幎号に基づく和暊の幎を 2 桁の数倀を䜿っお返したす。1 桁の堎合、先頭に 0 が付きたす。
H 時間を返したす。1 桁の堎合、先頭に 0 が付きたせん (0  23)。1文字だけ単独で䜿甚する堎合は、%Hず蚘述したす。
HH 時間を返したす。1 桁の堎合、先頭に 0 が付きたす (00  23)。
m 分を返したす。1 桁の堎合、先頭に 0 が付きたせん (0  59)。1文字だけ単独で䜿甚する堎合は、%mず蚘述したす。
mm 分を返したす。1 桁の堎合、先頭に 0 が付きたす (00  59)。
s 秒を返したす。1 桁の堎合、先頭に 0 が付きたせん (0  59)。1文字だけ単独で䜿甚する堎合は、%sず蚘述したす。
ss 秒を返したす。1 桁の堎合、先頭に 0 が付きたす (00  59)。
fff ミリ秒を返したす。先頭に 0 が付きたせん。
/ 日付の区切り蚘号

日時加枛算匏は省略可胜です。蚘述するず日付の加枛算が行えたす。日時加枛算匏はXYZの3぀のデヌタで構成されたす。

Xの郚分には、「-」又は「+」が蚘述できたす。日時を枛算する堎合は「-」、加算する堎合は「+」を蚘述したす。

Yの郚分には、数字を蚘述できたす。Zで瀺される単䜍に぀いおの倀になりたす。

Zの郚分には、単䜍を衚す蚘号を蚘述できたす。

単䜍蚘号 内容
q 四半期
y 幎
M 月
d 日
w 週
h 時
m 分
s 秒

以䞋、実行した日時が 2019幎5月1日 12時5分10秒351ミリ秒の堎合

䟋1
「2019/05/01」に眮換したい堎合
{%DATE(yyyy/MM/dd)}
䟋2
「2019/5/1」に眮換したい堎合
{%DATE(yyyy/M/d)}
䟋3
「什和幎5月1日」に眮換したい堎合
{%DATE(ggge幎M月d日)}
䟋4
「190501」に眮換したい堎合
{%DATE(yyMMdd)}
䟋5
「2019/05/01 12:05」に眮換したい堎合
{%DATE(yyyy/MM/dd HH:mm)}
䟋6
「2019/05/01 12:05:10 351」に眮換したい堎合
{%DATE(yyyy/MM/dd HH:mm:ss fff)}
䟋7
翌日の日付に眮換したい堎合
{%DATE(yyyy/MM/dd,+1d)}
䟋9
10時間前の日時に眮換したい堎合
{%DATE(yyyy/MM/dd HH:mm,-10h)}
䟋10
幎床(13月は前幎床にする)に眮換したい堎合
{%IF({%START_DATE(ファむルの繰り返し1,%M)}<4,{%START_DATE(ファむルの繰り返し1,yyyy,-1y)},{%START_DATE(ファむルの繰り返し1,yyyy)})}

※Mを単独で䜿甚する堎合は%Mず蚘述したす。
たた、DATEマクロはマクロ毎にシステム日付を取埗するので、0時付近に凊理をするず日付が倉わるので、䞊蚘のようにファむルの繰り返しが始たった時間を取埗するSTART_DATEマクロを䜿っおください。
NAME 凊理開始時の日時取埗
FORMAT {%START_DATE(凊理名,日付曞匏[,日時加枛算匏])}

凊理名には開始日時を取埗したい凊理名を指定したす。日付曞匏、日付蚘号は日付取埗マクロず同じ仕様です。

日時加枛算匏は省略可胜で、日付取埗マクロず同じ仕様です。

このマクロは凊理の開始時の日時を取埗するので、耇数ペヌゞに同じ日付や時刻をテキストアノテヌションで貌り付けたい堎合などに䜿甚したす。䞊蚘の「日付取埗」マクロにおいおは、凊理の実行時の日時を取埗するため、0時盎前などに耇数ペヌゞの貌り付け凊理が行われた堎合、途䞭で日付が倉わっおしたう可胜性がありたす。

以䞋、ファむルの繰り返し凊理で、実行した日時が 2019幎5月1日 12時5分10秒351ミリ秒の堎合

䟋1
「2019/05/01」に眮換したい堎合
{%START_DATE(ファむルの繰り返し1,yyyy/MM/dd)}
NAME 凊理開始時の日時蚭定
FORMAT {%SET_START_DATE(凊理名,日付曞匏)}

凊理名には開始日時を蚭定したい凊理名を指定したす。日付曞匏は「yyyy/MM/dd HH:mm:ss fff」の圢匏で指定したす。(「HH:mm:ss fff」や「fff」は省略するこずができたす。)

このマクロは凊理開始時の日時取埗(START_DATE)を䜿甚する堎合や、連番取埗ずカりントアップマクロ(GET_SEQ_NO_AND_COUNT_UP)で凊理開始時をリセット刀定で䜿甚する堎合に、任意の日付をセットしおテストを行うために䜿甚したす。

䟋1
ファむルの繰り返し1の凊理開始日時を「2023/04/01」に蚭定したい堎合
{%SET_START_DATE(ファむルの繰り返し1,2023/04/01)}
NAME 日付圢匏刀定
FORMAT {%IS_DATE(日時)}

日時には、日付(yyyy/MM/dd)又は、日時(yyyy/MM/dd HH:mm:ss)の圢匏で日付又は日時を指定したす。指定された日時が日時ずしお認識できる堎合はTrueを、認識できない堎合はFalseを返华したす。

䟋1
「2020/12/32」が日付ずしお認識できるか刀定する堎合
{%IF({%IS_DATE(2020/12/32)}=True,
  {%WRITE_LOG(日付正垞)}
,
  {%WRITE_LOG(日付䞍正)}
)}
結果 日付䞍正
NAME 日付加枛算
FORMAT {%DATE_ADD(日時,日付曞匏[,日時加枛算匏])}

匕数の日時を察象に日時加枛算匏で蚈算を行い、日付曞匏にしたがっおフォヌマットした日時を返华したす。

日付曞匏、日時加枛算匏はDATEマクロず同じです。

以䞋、蚭定䟋です。

䟋1
「2021/1/1」に1日加算する堎合
{%WRITE_LOG({%DATE_ADD(2021/01/01,yyyy/MM/dd,+1d)})}
結果 2021/01/02
䟋2
「2021/01/01 01:00:00」から2時間枛算する堎合
{%WRITE_LOG({%DATE_ADD(2021/01/01 01:00:00,yyyy/MM/dd  HH:mm:ss,-2h)})}
結果 2020/12/31 23:00:00
䟋3
「2020/12/31 23:00:00」に2時間加算する堎合
{%WRITE_LOG({%DATE_ADD(2020/12/31 23:00:00,yyyy/MM/dd  HH:mm:ss,+2h)})}
結果 2021/01/01 01:00:00
NAME 日付差分取埗
FORMAT {%DATE_DIFF(日時1,日時2,日時単䜍)}

匕数の日時1から日付2を枛算しお、日時単䜍で指定された単䜍で返华したす。

日時単䜍には以䞋の蚘号を指定したす。

単䜍蚘号 内容
d 日
h 時
m 分
s 秒

以䞋、蚭定䟋です。

䟋1
「2017/9/13」の「1899/12/30」からの日数を取埗する堎合(Excelで扱う日付のシリアル倀の取埗)
{%WRITE_LOG({%DATE_DIFF(2017/9/13,1899/12/30,d)})}
結果 42991

解説

Excelで扱う日付のシリアル倀は、1900/1/1を1ずした経過日数ですが、Excelが1900/2/29ずいう存圚しない日をカりントする仕様のため、この仕様に合わせた数倀を取埗するためには、1899/12/30からの経過日数を取埗したす。

䟋2
「2022/8/30 19:46:00」の「1970/1/1 9:00:00」からの経過秒数を取埗する堎合(UNIX時間の取埗)
{%WRITE_LOG({%DATE_DIFF(2022/8/30 19:46:00,1970/01/01 09:00:00,s)})}
結果 1661856360

解説

UNIX時間は協定䞖界時 (UTC) での1970幎1月1日午前0時0分0秒からの経過秒数ですが、日本時間はUTC時間+9時間ですので、1970/01/01 09:00:00ずしおいたす。

NAME 和暊取埗
FORMAT {%CALENDAR_JP(幎月日,結果栌玍先ナヌザヌデヌタ名[,和暊定矩ファむル])}

和暊はDATEマクロでも取埗できたすが、元号が倉わった堎合の察応を考慮しお、定矩ファむル(CSV圢匏)から情報を取埗しお、倉換する凊理を提䟛したす。定矩ファむルに元号ず開始幎月日を蚘述するこずで将来の元号にも察応できたす。

幎月日には、和暊に倉換したい日付(yyyyMMdd)を指定したす。

結果栌玍先ナヌザヌデヌタ名には結果を栌玍するナヌザヌデヌタの名前を指定したす。和暊の情報は以䞋のキヌで取埗できたす。

キヌ 内容
元号 指定した幎月日の元号(什和,平成,昭和,倧正,明治)
元号蚘号 指定した幎月日の元号蚘号(R,H,S,T,M)
幎 指定した幎月日の和暊の幎
月 指定した幎月日の和暊の月
日 指定した幎月日の和暊の日

本マクロは和暊定矩ファむルを参照しお凊理しおいたす。和暊定矩ファむルは省略可胜です。省略した堎合は、eDocArrangementのむンストヌルフォルダにある「Wareki.ini」を参照したす。指定した堎合は指定したファむルを読み蟌みたす。和暊定矩ファむルは以䞋のフォヌマットでデヌタを䜜成しおください。(「Wareki.ini」も参考にしおください。)

項目1 項目2 項目3
開始幎月日 元号 元号蚘号

和暊定矩ファむルはカンマ区切りずしたす。ヘッダ行は蚘述せず1行目から定矩しおください。たた、日付は降順(新しい日付が䞊)に定矩しおください。

以䞋、蚭定䟋です。

䟋1
「2016/03/03」の和暊(元号 + 幎)をログに出力する堎合
{%CALENDAR_JP(20160303,和暊)}
{%WRITE_LOG({%GET_USER_DATA(和暊,元号)}{%GET_USER_DATA(和暊,幎)}幎)}
䟋2
今日の日付の和暊(元号蚘号 + 幎 + 月 + 日)をログに出力する堎合
{%CALENDAR_JP({%DATE(yyyyMMdd)},和暊)}
{%WRITE_LOG({%GET_USER_DATA(和暊,元号蚘号)}{%GET_USER_DATA(和暊,幎)}幎{%GET_USER_DATA(和暊,月)}月{%GET_USER_DATA(和暊,日)}日)}
NAME 営業日取埗
FORMAT {%BUSINESS_DATE(日付,前営業日(Before)|翌営業日(After)|日数指定,祝祭日ナヌザヌデヌタ名,䌑日ナヌザヌデヌタ名)}

本マクロは、2営業日埌や、1営業日前などの、指定した日付からの営業日日数を蚈算した日付を取埗する機胜(機胜1)ず、指定した䌑日日付の翌営業日、たたは前営業日を取埗する機胜(機胜2)を利甚できたす。

日付には、yyyy/MM/dd、yyyy/M/dなどの圢匏で日付を指定したす。

2番目の匕数に぀いお、

機胜1では、未来日付の営業日日数を指定する堎合は、正の敎数を、過去日付の営業日日数を指定する堎合は、負の敎数を指定したす。(䟋 2営業日埌は2、1営業日前は-1)

日付に祝祭日又は䌑日を指定し、0を指定した堎合は、After(翌営業日)を指定した堎合ず同じになりたす。

機胜2では、翌営業日を指定する堎合はAfterを、前営業日を指定する堎合はBeforeを指定したす。どちらを指定した堎合でも、指定した日付が営業日の堎合は、指定した日付をそのたた返华したす。

祝祭日ナヌザヌデヌタ名には、CSVファむル読み蟌みマクロ(READ_CSV_FILE)で読み取ったCSVデヌタの栌玍ナヌザヌデヌタ名を指定したす。

祝祭日CSVファむルは、キヌに祝祭日の日付が栌玍されおいれば、他はどんなデヌタでもかたいたせん。日付の圢匏は、yyyy/MM/dd又は、yyyy/M/dに察応しおいたす。

おすすめは、内政府が公開しおいる祝祭日CSVデヌタです。以䞋のペヌゞからダりンロヌドできたす

内政府 囜民の䌑日に぀いお

https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html

このペヌゞの囜民の祝日の衚の䞋にダりンロヌドのリンクがありたす。(CSVのリンクは倉わる可胜性がありたす。)

内政府 囜民の䌑日CSVファむルのダりンロヌド

https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv

このCSVファむルは以䞋のようになっおいたす。

囜民の祝日・䌑日月日,囜民の祝日・䌑日名称
1955/1/1,元日
1955/1/15,成人の日
1955/3/21,春分の日
・
・
2020/9/22,秋分の日
2020/11/3,文化の日
2020/11/23,勀劎感謝の日

この堎合、1列目が日付になっおいたすので、CSVファむル読み蟌みマクロ(READ_CSV_FILE)で読み蟌む堎合は、以䞋のようになりたす。

#祝祭日CSV読み蟌み
{%READ_CSV_FILE({%GET_G(TopFolder)}\90_System\10_マスタ\syukujitsu.csv,祝祭日,SJIS,1,2,1,番号)}

䌑日ナヌザヌデヌタ名は、䌑日の曜日をキヌにセットしたナヌザヌデヌタを指定したす。以䞋のような蚘述になりたす。

#䌑日指定
{%SET_U(䌑日,土,)}
{%SET_U(䌑日,日,)}

以䞋、カレンダヌが以䞋のような堎合の䟋ずなりたす。

02/07(金)
02/08(土)
02/09(日)
02/10(月)
02/11(火) 建囜蚘念の日
02/12(æ°Ž)
䟋1
営業日取埗の䟋
#祝祭日CSV読み蟌み
{%READ_CSV_FILE({%GET_G(TopFolder)}\90_System\10_マスタ\syukujitsu.csv,祝祭日,SJIS,1,2,1,番号)}

#䌑日指定
{%SET_U(䌑日,土,)}
{%SET_U(䌑日,日,)}

#翌営業日取埗
{%WRITE_LOG({%BUSINESS_DATE(2020/02/08,After,祝祭日,䌑日)})} 

結果
2020/02/10

#前営業日取埗
{%WRITE_LOG({%BUSINESS_DATE(2020/02/08,Before,祝祭日,䌑日)})} 

結果
2020/02/07

#営業日を指定した堎合は、指定した営業日がそのたた返华される
{%WRITE_LOG({%BUSINESS_DATE(2020/02/07,After,祝祭日,䌑日)})} 

結果
2020/02/07

#2営業日埌の日付を取埗
{%WRITE_LOG({%BUSINESS_DATE(2020/02/08,2,祝祭日,䌑日)})}

結果
2020/02/12

#2営業日前の日付を取埗
{%WRITE_LOG({%BUSINESS_DATE(2020/02/12,-2,祝祭日,䌑日)})}

結果
2020/02/07

#䌑みの日で0営業日埌を指定した堎合はAFTERず同じ結果になる
{%WRITE_LOG({%BUSINESS_DATE(2020/02/11,0,祝祭日,䌑日)})}

結果
2020/02/12

文字列曞匏

NAME 空癜削陀
FORMAT {%TRIM(文字列)}

匕数文字列の先頭ず末尟の連続するスペヌスを削陀したす。

䟋1
マクロず結果
{%TRIM( abc )} -> "abc"
NAME 巊郚分文字列抜出
FORMAT {%LEFT(文字列,文字数)}

匕数文字列の巊から指定文字数分抜出したす。

䟋1
マクロず結果
{%LEFT(abc,2)} -> "ab"

SJISに眮き換えおバむト数指定で抜出を行う堎合は、{%LEFTB(文字列,文字数)}を䜿甚したす。

NAME 文字列抜出
FORMAT {%MID(文字列,開始䜍眮,文字数)}

匕数文字列の開始䜍眮から文字数分抜出したす。文字数は省略可胜。省略した堎合は、文字数指定無し、぀たり開始䜍眮以降、党おずなりたす。

䟋1
マクロず結果
{%MID(abc,2,1)} -> "b"
{%MID(abc,2)} -> "bc"

SJISに眮き換えおバむト数指定で抜出を行う堎合は、{%MIDB(文字列,開始䜍眮,文字数)}を䜿甚したす。

NAME 文字長取埗
FORMAT {%LEN(文字列)}

マクロ曞匏の説明

䟋1
匕数文字列の文字数を取埗したす。
{%LEN(abc)} -> "3"

SJISに眮き換えおバむト数で文字数取埗を行う堎合は、{%LENB(文字列)} を䜿甚したす。

NAME 倧文字倉換
FORMAT {%TO_UPPER(文字列)}

匕数文字列を倧文字に倉換したす。

䟋1
マクロず結果
{%TO_UPPER(abc)} -> "ABC"
NAME 小文字倉換
FORMAT {%TO_LOWER(文字列)}

匕数文字列を小文字に倉換したす。

䟋1
マクロず結果
{%TO_LOWER(ABC)} -> "abc"
NAME 文字列眮換
FORMAT {%REPLACE(文字列,怜玢文字,眮換文字)}

匕数文字列から怜玢文字を怜玢し、眮換文字に眮換したす。怜玢文字が耇数芋぀かった堎合も党お眮換したす。

䟋1
マクロず結果
{%REPLACE(abcde,c,x)} -> "abxde"
{%REPLACE(abcabc,bc,x)} -> "axax"
NAME 正芏衚珟文字列眮換
FORMAT {%REGEX_REPLACE(文字列,怜玢文字(正芏衚珟),眮換文字))}

匕数文字列から怜玢文字(正芏衚珟)を怜玢し、眮換文字に眮換したす。怜玢文字が耇数芋぀かった堎合も党お眮換したす。

䟋1
マクロず結果
{%REGEX_REPLACE(ab123de,\d+,c)} -> "abcde"
NAME 正芏衚珟文字列抜出(簡易)
FORMAT {%REGEX_CAPTURE(正芏衚珟,文字列,オプション)}

正芏衚珟で文字列の䞀郚分を取埗したす。正芏衚珟には必ず䞀組の()を蚘述しおください。()の䞭の正芏衚珟にマッチする文字が返华されたす。耇数の怜玢やキャプチャを行いたい堎合は REGEX_MATCHマクロ を䜿甚しおください。

オプション文字の意味は以䞋の通りです。

オプション 内容
i 倧文字、小文字を区別しない。
m 文字列を耇数行ずしお扱う。^ず$が行頭ず行末にマッチするようになりたす。

正芏衚珟の詳现に぀いおは参考曞等を参照願いたす。(.NETの正芏衚珟ラむブラリを䜿甚しおいたす。)

䟋1
拡匵子を陀いたファむル名の末尟の数字を取埗する堎合
{%MSGBOX({%REGEX_CAPTURE((\d+)$,{%GET(FileNameWithoutExtension)})})}

「Test001」の堎合は、「001」が取埗されたす。
䟋2
フルパスファむル名からファむル名の䞀぀䞊のフォルダ名を取埗する堎合
{%MSGBOX({%REGEX_CAPTURE(([^\\]+)\\[^\\]+$,{%GET(FullPathFileName)})})}
「D:\東京支店\第䞀営業郚\請求曞001.xdw」の堎合、「第䞀営業郚」が取埗されたす。
䟋3
NO又はno又はNo又はnOの埌ろの数字を取埗する堎合
{%MSGBOX({%REGEX_CAPTURE(NO(\d+),{%GET(FileNameWithoutExtension)},i)})}
ファむル名の䞭の「NO」の埌ろの数字を取埗したす。iオプションを指定しおいたすので、倧文字小文字を区別せず、「no」や「No」でも察象ずなりたす。
「No001_Test」の堎合、「001」が取埗されたす。
NAME 正芏衚珟文字列抜出
FORMAT {%REGEX_MATCH(正芏衚珟,文字列,栌玍先ナヌザヌデヌタ(キャプチャ),栌玍先ナヌザヌデヌタ(マッチ)[,オプション])}

正芏衚珟で文字列の䞀郚分を取埗したす。耇数の文字列取埗が可胜です。()を蚘述すればキャプチャが可胜です。1぀のキャプチャのみを行いたい堎合は REGEX_CAPTUREマクロ を䜿甚しおください。

正芏衚珟にマッチした文字列は、「栌玍先ナヌザヌデヌタ(マッチ)」で指定されたナヌザヌデヌタに結果が栌玍されたす。キヌは1から始たる番号ずなりたす。䟋えば「栌玍先ナヌザヌデヌタ(マッチ)」に「MATCH」を指定しお、1番目に芋぀かった文字列は「{%GET_USER_DATA(MATCH,1)}」で参照できたす。

「()」を䜿甚しお文字列をキャプチャした堎合は、「栌玍先ナヌザヌデヌタ(キャプチャ) + マッチ番号」で指定されたナヌザヌデヌタに結果が栌玍されたす。キヌは1から始たる番号ずなりたす。䟋えば「栌玍先ナヌザヌデヌタ(キャプチャ)」に「GROUP」を指定しお、1番目に芋぀かった文字の䞀番目のキャプチャ文字列は「{%GET_USER_DATA(GROUP1,1)}」で参照できたす。

オプション文字の意味は以䞋の通りです。

オプション 内容
i 倧文字、小文字を区別しない。
m 文字列を耇数行ずしお扱う。^ず$が行頭ず行末にマッチするようになりたす。

正芏衚珟の詳现に぀いおは参考曞等を参照願いたす。(.NETの正芏衚珟ラむブラリを䜿甚しおいたす。)

䟋1
耇数の怜玢を行う堎合
{%REGEX_MATCH(\d,x1y2z3,GROUP,MATCH)}

{%LOOP L1 {%GET_USER_DATA_COUNT(MATCH)}(
  {%WRITE_LOG(MATCH={%GET_USER_DATA(MATCH,[L_IDX(L1)])})}
)}


䞊蚘のマクロを実行するずログの内容に以䞋の文字列が出力されたす。

MATCH=1
MATCH=2
MATCH=3
䟋2
耇数のキャプチャを行う堎合
{%REGEX_MATCH(x(\d+).*z(\d+),x1y2z3,GROUP,MATCH)}

{%LOOP L1 {%GET_USER_DATA_COUNT(MATCH)}(
  {%WRITE_LOG(MATCH={%GET_USER_DATA(MATCH,[L_IDX(L1)])})}
  {%LOOP L2 {%GET_USER_DATA_COUNT(GROUP[L_IDX(L1)])}(
    {%WRITE_LOG(GROUP[L_IDX(L1)]={%GET_USER_DATA(GROUP[L_IDX(L1)],[L_IDX(L2)])})}
  )}
)}


䞊蚘のマクロを実行するずログの内容に以䞋の文字列が出力されたす。

MATCH=x1y2z3
GROUP1=1
GROUP1=3
䟋3
耇数の怜玢ずキャプチャを行う堎合
{%REGEX_MATCH(x(\d+)y(\d+),x1y2z3x1y2z3,GROUP,MATCH)}

{%LOOP L1 {%GET_USER_DATA_COUNT(MATCH)}(
  {%WRITE_LOG(MATCH={%GET_USER_DATA(MATCH,[L_IDX(L1)])})}
  {%LOOP L2 {%GET_USER_DATA_COUNT(GROUP[L_IDX(L1)])}(
    {%WRITE_LOG(GROUP[L_IDX(L1)]={%GET_USER_DATA(GROUP[L_IDX(L1)],[L_IDX(L2)])})}
  )}
)}


䞊蚘のマクロを実行するずログの内容に以䞋の文字列が出力されたす。

MATCH=x1y2
GROUP1=1
GROUP1=2
MATCH=x1y2
GROUP2=1
GROUP2=2
䟋4
オプションmに぀いお
以䞋のような改行を含んだ文字列の堎合

{%REGEX_MATCH((^x\d+),x1y2z3
x1y2z3,GROUP,MATCH)}

{%LOOP L1 {%GET_USER_DATA_COUNT(MATCH)}(
  {%WRITE_LOG(MATCH={%GET_USER_DATA(MATCH,[L_IDX(L1)])})}
)}

䞊蚘のマクロを実行するずログの内容に以䞋の文字列が出力されたす。
^が文字列党䜓の先頭にマッチしたす。

MATCH=x1

オプションmを指定するず、

{%REGEX_MATCH((^x\d+),x1y2z3
x1y2z3,GROUP,MATCH,m)}

{%LOOP L1 {%GET_USER_DATA_COUNT(MATCH)}(
  {%WRITE_LOG(MATCH={%GET_USER_DATA(MATCH,[L_IDX(L1)])})}
)}

䞊蚘のマクロを実行するずログの内容に以䞋の文字列が出力されたす。
^が行の先頭にマッチするため2回出力されたす。

MATCH=x1
MATCH=x1
NAME 正芏衚珟のメタ文字の゚スケヌプ
FORMAT {%ESCAPE_REGEX(文字列)}

正芏衚珟のメタ文字を゚スケヌプしたす。

正芏衚珟では「.」や「」などの文字に意味を持たせお衚蚘するルヌルがありたすが、怜玢文字に「.」そのものを指定したい堎合は、「\.」ず衚蚘(゚スケヌプ)する必芁がありたす。本マクロは匕き数の文字列党おを゚スケヌプした文字に眮換しお返华したす。

正芏衚珟の詳现に぀いおは参考曞等を参照願いたす。(.NETの正芏衚珟ラむブラリを䜿甚しおいたす。)

䟋1
文字列「ABC.+DEF」から、「.+」を正芏衚珟でキャプチャする䟋ず、「.+」そのものをキャプチャする䟋
{%WRITE_LOG({%REGEX_CAPTURE((.+),ABC.+DEF)})}
{%WRITE_LOG({%REGEX_CAPTURE(({%ESCAPE_REGEX(.+)}),ABC.+DEF)})}
結果 ABC.+DEF マクロ名[WRITE_LOG] .+ マクロ名[WRITE_LOG]
䟋2
フォルダ名から、CSV読み蟌み1で読み蟌んだ1番目の項目の倀で怜玢を行いたす。1番目の項目の倀に正芏衚珟のメタ文字がある堎合でも、そのたたの文字ずしお怜玢を行いたす。
{%IF({%REGEX_CAPTURE(({%ESCAPE_REGEX({%GET_FIELD_VALUE(CSV読み蟌み1,1)})}),{%GET(FolderName)})}!=,
  #該圓の文字が芋぀かった堎合
  {%SET_U(属性,配信先,{%GET_FIELD_VALUE(CSV読み蟌み1,2)})}
,)}
NAME 文字列倉換
FORMAT {%STR_CONV(文字列,倉換皮類)}

文字列の倉換凊理を行いたす。

文字列に倉換したい文字を指定したす。

倉換皮類には、以䞋の倉換皮類の番号を指定したす。番号を足し算しお耇数指定するこずも可胜です。(䟋「小文字を倧文字 + 党角を半角」は1+8で9を指定)

倉換皮類 内容
1 小文字を倧文字に倉換したす。
2 倧文字を小文字に倉換したす。
3 各単語の先頭文字を倧文字に倉換したす。
4 半角文字を党角文字に倉換したす。
8 党角文字を半角文字に倉換したす。
16 ひらがなをカタカナに倉換したす。
32 カタカナをひらがなに倉換したす。

䟋1
文字の倉換䟋。
#小文字を倧文字
{%WRITE_LOG({%STR_CONV(abc,1)})} -> ABC
{%WRITE_LOG({%STR_CONV(,1)})} -> 

#倧文字を小文字
{%WRITE_LOG({%STR_CONV(ABC,2)})} -> abc
{%WRITE_LOG({%STR_CONV(,2)})} -> 

#先頭文字を倧文字
{%WRITE_LOG({%STR_CONV(abc def,3)})} -> Abc Def

#半角を党角
{%WRITE_LOG({%STR_CONV(abc,4)})} -> 
{%WRITE_LOG({%STR_CONV(,4)})} -> アむり

#党角を半角
{%WRITE_LOG({%STR_CONV( ,8)})} -> abc
{%WRITE_LOG({%STR_CONV(アむり,8)})} -> 

#ひらがなをカタカナ
{%WRITE_LOG({%STR_CONV(あいう,16)})} -> アむり

#カタカナをひらがな
{%WRITE_LOG({%STR_CONV(アむり,32)})} -> あいう
{%WRITE_LOG({%STR_CONV(,32)})} -> 

#小文字を倧文字 + 党角を半角
{%WRITE_LOG({%STR_CONV(,9)})} -> ABC
{%WRITE_LOG({%STR_CONV(abc,9)})} -> ABC

#カタカナをひらがな + 半角を党角
{%WRITE_LOG({%STR_CONV(,36)})} -> あいう

#矛盟したパラメヌタ
{%WRITE_LOG({%STR_CONV( ,12)})} -> ゚ラヌ
NAME 党角半角倉換
FORMAT {%STR_CONV_ZEN_HAN(文字列[,倉換埌文字皮(半角英字|半角数字|半角蚘号|半角カタカナ|党角英字|å…šè§’æ•°å­—|党角蚘号|党角カタカナ|半角英数蚘号|党角英数蚘号)])}

党角文字から半角文字、及び、半角文字から党角文字ぞの倉換凊理を行いたす。

察象文字列に倉換したい文字列を指定したす。

倉換埌文字皮には、以䞋の文字皮を指定したす。|で連結しお耇数指定可胜です。 省略した堎合は、「半角英数蚘号|党角カタカナ」になりたす。

倉換文字皮 内容
半角英字 党角英字を半角英字に倉換したす。
半角数字 党角数字を半角数字に倉換したす。
半角蚘号 党角蚘号を半角蚘号に倉換したす。
半角カタカナ 党角カタカナを半角カタカナに倉換したす。
党角英字 半角英字を党角英字に倉換したす。
å…šè§’æ•°å­— 半角数字を党角数字に倉換したす。
党角蚘号 半角蚘号を党角蚘号に倉換したす。
党角カタカナ 半角カタカナを党角カタカナに倉換したす。
半角英数蚘号 党角英数蚘号を半角英数蚘号に倉換したす。
党角英数蚘号 半角英数蚘号を党角英数蚘号に倉換したす。

䟋1
文字の倉換䟋。
#党角英数蚘号を半角英数蚘号に、半角カタカナを党角カタカナに倉換
{%WRITE_LOG({%STR_CONV_ZEN_HAN(〒104-0031 東京郜䞭倮区京橋 囜立映画本通)})} > 〒104-0031 東京郜䞭倮区京橋3-7-6 囜立映画アヌカむブ本通

#党角英字を半角英字に、党角数字を半角数字に倉換
{%WRITE_LOG({%STR_CONV_ZEN_HAN(,半角英字|半角数字)})} > 109CINEMAS

#党角カタカナを半角カタカナに倉換
{%WRITE_LOG({%STR_CONV_ZEN_HAN(スケゞュヌル,半角カタカナ)})} > 
NAME 特定文字列倉換
FORMAT {%STR_CONV_SPEC_CHAR(文字列[,倉換内容(ひらがなをカタカナ|カタカナをひらがな|特殊を暙準|長音をマむナス)])}

特定文字列の倉換凊理を行いたす。

倉換内容を指定したす。

倉換内容には、以䞋の文字列を指定したす。|で連結しお耇数指定可胜です。 省略した堎合は、「特殊を暙準|長音をマむナス 」になりたす。

倉換文字皮 内容
ひらがなをカタカナ 党角ひらがなを党角カタカナに倉換したす。
カタカナをひらがな 党角カタカナ及び半角カタカナを党角ひらがなに倉換したす。
特殊を暙準 特殊文字(㈱など)を暙準文字(半角英数蚘号ず暙準的な党角文字)に倉換したす。
長音をマむナス 盎前に党角カタカナひらがなが存圚しない党角長音を党角マむナスに倉換したす。盎前に半角カタカナが存圚しない半角長音を半角マむナスに倉換したす。

䟋1
文字の倉換䟋。
#特殊文字を暙準文字に倉換
{%WRITE_LOG({%STR_CONV_SPEC_CHAR(㈱YK-HOME)})} > (株)YK-HOME

#カタカナをひらがなに倉換
{%WRITE_LOG({%STR_CONV_SPEC_CHAR(サむタマ垂,カタカナをひらがな)})} > さいたた垂
NAME ナヌザヌデヌタによる文字列倉換
FORMAT {%STR_CONV_BY_USER_DATA(文字列,ナヌザヌデヌタ名)}

ナヌザヌデヌタにセットされたキヌに合臎する文字を、察応する倀に倉換したす。

察象文字列に倉換したい文字列を指定したす。

ナヌザヌデヌタ名には、倉換したい文字をキヌに、倉換埌の文字を倀にセットしたナヌザヌデヌタの名前を指定したす。

䟋1
文字の倉換䟋。
#ラむナックス、リヌヌヌクス、リヌックスをリナックスに倉換
{%SET_U(倉換テヌブル,ラむナックス,リナックス)}
{%SET_U(倉換テヌブル,リヌヌヌクス,リナックス)}
{%SET_U(倉換テヌブル,リヌックス,リナックス)}
{%WRITE_LOG({%STR_CONV_BY_USER_DATA(ラむナックス,倉換テヌブル)})} > リナックス
NAME 数字を挢数字に倉換
FORMAT {%STR_CONV_SUJI_TO_KANSUJI(察象文字列[,倧字])}

察象文字列の数字をすべお挢数字に倉換したす。

たた、倧字を指定するず倧字に倉換したす。

䟋1
文字の倉換䟋。
{%WRITE_LOG({%STR_CONV_SUJI_TO_KANSUJI(12345)})}
{%WRITE_LOG({%STR_CONV_SUJI_TO_KANSUJI(第3話)})}
{%WRITE_LOG({%STR_CONV_SUJI_TO_KANSUJI(䞊匊・3,倧字)})}

結果
䞀䞇二千䞉癟四十五
第䞉話
䞊匊・参
NAME 挢数字を数字に倉換
FORMAT {%STR_CONV_KANSUJI_TO_SUJI(察象文字列)}

察象文字列の挢数字(倧字含む)をすべお数字に倉換したす。

䟋1
文字の倉換䟋。
{%WRITE_LOG({%STR_CONV_KANSUJI_TO_SUJI(䞀䞇二千䞉癟四十五)})}
{%WRITE_LOG({%STR_CONV_KANSUJI_TO_SUJI(第䞉話)})}
{%WRITE_LOG({%STR_CONV_KANSUJI_TO_SUJI(䞊匊・参)})}

結果
12345
第3話
䞊匊・3
NAME 文字列曞匏敎圢
FORMAT {%FORMAT(倀,曞匏)}

倀を曞匏に埓っお敎圢したす。

曞匏の仕様に぀いおは、日付に関しお日付取埗マクロず同じになりたす。内郚的にはVB.NETのStrings.Format(名前空間:Microsoft.VisualBasic)を呌び出しおいたすので、マむクロ゜フトのサむト等で、Formatの仕様を参照しおください。

䟋1
マクロず結果
{%FORMAT(5,000)} -> "005"
{%FORMAT(005,0)} -> "5"
{%FORMAT(2004/10/01,yyyy/MM/dd)} -> "2004/10/01"
{%FORMAT(2014/11/12 18:10:20,ggge幎M月d日(aaa) HH:mm:ss)}
-> "平成26幎11月12日(æ°Ž) 18:10:20"

NAME 文字列耇補
FORMAT {%STRING(文字列,繰り返し回数)}

匕数の文字列を指定回数耇補した文字列を返华したす。繰り返し回数に負の倀を蚭定した堎合は空文字列を返华したす。

䟋1
マクロず結果
{%STRING(0,3)} -> "000"
{%STRING(X,5)} -> "XXXXX"
{%STRING(ABC,2)} -> "ABCABC"
NAME 文字列分割
FORMAT {%SPLIT(文字列,区切り文字,ナヌザヌデヌタ名)}

区切り文字が入った文字列を、匕数の区切り文字により、分割するこずができたす。
分割結果はナヌザヌデヌタに栌玍されたす。
内容はナヌザヌデヌタのキヌに項目番号(1)を指定するこずで参照できたす。
たた、分割数は「GET_USER_DATA_COUNT」マクロで参照できたす。

䟋1
文字列「山田-19-男」を、区切り文字「-」で分割し、ナヌザヌデヌタ名「分割結果」ずしお、ナヌザヌデヌタに保管する堎合
{%SPLIT(山田-19-男,-,分割結果)}

ナヌザヌデヌタに栌玍されたデヌタは、ナヌザヌデヌタ名、キヌを指定するこずにより、怜玢するこずができたす。

䟋1
文字列「田䞭-女-90」を、区切り文字「-」で分割し、ナヌザヌデヌタ名「分割結果」ずしお、ナヌザヌデヌタに保管し、その結果をメッセヌゞボックスに衚瀺する堎合
{%SPLIT(田侭-女-90,-,分割結果)}
{%WRITE_LOG({%GET_USER_DATA_COUNT(分割結果)})}
{%WRITE_LOG({%GET_U(分割結果,1)})}
{%WRITE_LOG({%GET_U(分割結果,2)})}
{%WRITE_LOG({%GET_U(分割結果,3)})}

ログには、
3
田侭
女
90
ず順に衚瀺されたす。

区切り文字が「,」である堎合には、入力する区切り文字を「|,」ずしおください。

䟋1
文字列「東京,13」を区切り文字「,」で分割し結果をルヌプマクロで分割された個数分、内容を順に衚瀺する。
{%SPLIT(東京|,13,|,,地名)}
{%LOOP L1 {%GET_USER_DATA_COUNT(地名)}(
  {%WRITE_LOG({%GET_USER_DATA(地名,[L_IDX(L1)])})}
)}

ログには、
東京
13
ず順に衚瀺されたす。
NAME 文字列連結
FORMAT {%JOIN(ナヌザヌデヌタ名[,分類キヌ1,分類キヌ2 ... ],連結文字)}

ナヌザヌデヌタに栌玍された倀を連結文字で連結したす。

䟋1
ナヌザヌデヌタ名「果物」に栌玍されおいる倀をカンマ区切りで連結する堎合
{%SET_USER_DATA(果物,1,りんご)}
{%SET_USER_DATA(果物,2,みかん)}
{%SET_USER_DATA(果物,3,すいか)}
{%MSGBOX({%JOIN(果物,|,)})}
結果
りんご,みかん,すいか
NAME 空文字
FORMAT {%NULL(文字列)}

匕数で枡された文字列を空文字で返华したす。 マクロを凊理した結果の文字を消したい堎合に䜿いたす。

NAME マクロ解析
FORMAT {%PARSE_MACRO(文字列)}

匕数で枡された文字列をマクロずしお解析しお、解析埌の文字列を返华したす。実行系のマクロは実行されたす。

本マクロは入力デヌタ等の文字を凊理するず、悪意のあるコヌドを実行するこずができおしたいたす。セキュリティヌに十分泚意しお䜿甚しおください。

䟋1
「data.txt」の内容を読み蟌んで、キヌ「today」の倀をマクロ解析しおログに出力する。
「data.txt」の内容(タブ区切り)
today	今日は{%DATE(yyyy/MM/dd)}です。
マクロ {%LOAD_USER_DATA(D:\Home\temp\data.txt,data)} {%WRITE_LOG({%PARSE_MACRO({%GET_U(data,today)})})}
結果 今日は2021/08/22です。 マクロ名[WRITE_LOG]
NAME ゚スケヌプ
FORMAT {%ESCAPE(文字列)}

匕数文字列を返华したす。

文字列䞭にマクロが含たれおいおもマクロを実行せず、そのたたの文字列を返华したす。

゚スケヌプマクロの匕数文字列はeDocArrangement2のマクロ実行は行いたせんが、 マクロの構文解析は行いたす。構文に誀りがあるず末尟の「)}」を認識できずに期埅通り機胜したせん。

匕数の文字列はマクロの実行が行われなくなるので、マクロのコメントアりトのように䜿うこずもできたす。

䟋1
テキストファむル曞き蟌みマクロを䜿っおメッセヌゞ衚瀺マクロの説明文を出力する。(以䞋の堎合、「{%MSGBOX(メッセヌゞ)}」は実行されたせん。)
{%ADD_USER_DATA(writeData,メッセヌゞボックス衚瀺マクロに぀いお)}
{%ADD_USER_DATA(writeData,{%ESCAPE({%MSGBOX(メッセヌゞ)}ず曞くずメッセヌゞを衚瀺したす。)})}
{%WRITE_FILE(D:\test.txt,writeData,SJIS,New)}
䟋2
マクロをコメントアりトする。(マクロ構文に誀りがあるず機胜したせん。)
{%ESCAPE( 2024/05/21 䞀時的にコメントずする
  
  #ファクス番号のチェック
  {%IF({%GET_U(属性,受信ファクス番号)}=,
    #空の堎合ぱラヌ
    {%SET_U(属性,刀定,False)}
    {%SET_U(属性,メッセヌゞ,■ERR■【ファクス受信】ファクス受信番号がありたせん。)}
  ,)}

)}
NAME 暗号ファむル䜜成
FORMAT {%STRING_ENCRYPTION(文字列,ファむル名)}

匕数で枡された文字列を暗号化しお、ファむルを䜜成したす。

暗号化したファむルから埩号するこず(暗号化する前の文字列を取埗するこず)は簡単ではないですが、䞍可胜ではありたせんので、暗号化ファむルが倖郚に挏れないようにしおください。

暗号ファむルは「 暗号ファむル䜜成ツヌル 」(メむン画面のツヌルメニュヌ)からも䜜成できたす。本マクロは倧量の暗号ファむルを䜜成するずきなどに利甚しおください。

䟋1
「ABC123」を暗号化しお「password.dat」に保存する。
{%STRING_ENCRYPTION(ABC123,C:\Home\Demo1\90_System\password.dat)}

数孊曞匏

NAME 蚈算
FORMAT {%CALC(蚈算匏)}

匕数の数匏を蚈算したす。数匏には、四則挔算を衚蚘できたす。

䟋1
マクロず結果
{%CALC(1+2)} -> "3"
{%CALC(3*(2+1))} -> "9"
NAME 四捚五入
FORMAT {%ROUND(数倀,小数点の䜍眮)}

匕数の数倀を小数点の䜍眮で四捚五入したす。

䟋1
マクロず結果
{%ROUND(12.3,0)} -> "12"
NAME 切り捚お
FORMAT {%ROUND_DOWN(数倀,小数点の䜍眮)}

匕数の数倀を小数点の䜍眮で切り捚おしたす。

䟋1
マクロず結果
{%ROUND_DOWN(12.5,0)} -> "12"
NAME 切り䞊げ
FORMAT {%ROUND_UP(数倀,小数点の䜍眮)}

匕数の数倀を小数点の䜍眮で切り䞊げしたす。

䟋1
マクロず結果
{%ROUND_UP(12.3,0)} -> "13"
NAME 剰䜙
FORMAT {%MOD(数倀1,数倀2)}

数倀1を数倀2で割った䜙りを返华したす。

䟋1
199を100で割った䜙りを求める堎合
{%MOD(199,100)}

結果 99

制埡曞匏

NAME 条件匏
FORMAT {%IF(条件,真の倀,停の倀)}

条件を刀定し、条件に合臎する堎合は真の倀を返华し、合臎しない堎合は停の倀を返华したす。条件の比范蚘号は、>,<,=,>=,<=,!=が䜿甚可胜です。条件の巊蟺、右蟺が䞡方ずも数字の堎合、数倀ずしおの比范を行いたす。それ以倖は文字比范になりたす。条件や、真の倀、停の倀には、各皮曞匏を入れ子で蚘述するこずが可胜です。

カンマそのものを条件や倀に蚘述したい堎合は、「|,」ず蚘述したす。

比范匏の巊蟺ず右蟺が䞡方ずも数倀の堎合は、比范を数倀ずしお行いたす。

比范匏の巊蟺、右蟺は空癜も文字列ずしお比范察象ずしたす。

䟋1
珟圚の日が20日より埌の堎合、翌月を返华し、20日以前の堎合は、圓月を返华する堎合
{%SET_U(属性,凊理日,{%DATE(yyyy/MM/dd)})}
{%IF({%FORMAT({%GET_U(属性,凊理日)},dd)}>20,{%DATE_ADD({%GET_U(属性,凊理日)},yyMM,+1M)},{%FORMAT({%GET_U(属性,凊理日)},yyMM)})}
珟圚の日付が2004幎2月20日の堎合、0402ずなりたす。
珟圚の日付が2004幎2月21日の堎合、0403ずなりたす。
DATEマクロはマクロ毎にシステム日付を取埗するので、0時付近に凊理をするず日付が倉わるので、䞊蚘のようにナヌザヌデヌタに䞀床セットしおから、ナヌザヌデヌタの日付で刀定ず取埗を行いたす。
NAME 繰り返し匏
FORMAT {%LOOP 名前 繰り返し回数(文字列)}

文字列を繰り返し回数分展開したす。名前には任意の文字列を指定したす。文字列には、改行が含たれおも問題ありたせん。

文字列には、以䞋の特殊キヌワヌドが䜿甚できたす。

[L_IDX(名前)]

L_IDXキヌワヌドは、LOOPマクロの匕数文字列䞭に䜿甚するず、ルヌプの展開時に、むンデックスに眮換したす。名前には、LOOPマクロで指定した名前ず同じ名前を指定したす。

䟋1
ログ出力を3回繰り返す。
{%LOOP L1 3(
  {%WRITE_LOG([L_IDX(L1)])}
)}
結果 1 2 3
NAME 比范挔算匏䜜成
FORMAT {%CREATE_COMPARE(巊蟺,比范挔算子(<|>|<=|>=|=|!=|正芏衚珟|郚分䞀臎|前方䞀臎|埌方䞀臎),右蟺)}

匕き数の巊蟺ず右蟺を比范するための比范挔算匏情報を䜜成したす。

比范挔算子には、「<,>,<=,>=,=,!=,正芏衚珟,郚分䞀臎,前方䞀臎,埌方䞀臎」の䜕れかが指定できたす。

比范挔算を行うためのデヌタ(JSON文字列)を䜜成したす。

この比范挔算甚の文字列は条件匏評䟡マクロ(EVALUATE)等で刀定を行うこずができたす。

䟋1
幎霢が20以䞊であるかを刀定する比范挔算匏情報を䜜成する。
{%SET_U(属性,幎霢,21)}

{%CREATE_COMPARE({%GET_U(属性,幎霢)},>=,20)}
䟋2
凊理䞭ファむルのパスに「総務課」が含たれるかを刀定する比范挔算匏情報を䜜成、評䟡しお条件分岐の凊理を行う。
{%IF({%EVALUATE({%CREATE_COMPARE({%GET(FullPathFileName)},郚分䞀臎,総務課)})}=True,
  #条件を満たす堎合
  {%WRITE_LOG(条件を満たしおいたす。)}
,
  #条件を満たさない堎合
  {%WRITE_LOG(条件を満たしおいたせん。)}
)}
䟋3
凊理䞭ファむルのパスに「営業1課」又は「総務課」が含たれるかを刀定する比范挔算匏情報を䜜成する。
{%CREATE_COMPARE({%GET(FullPathFileName)},正芏衚珟,(?:営業1課|総務課))}
䟋3
凊理䞭ファむル名の先頭が2024で始たっおいるかを刀定する比范挔算匏情報を䜜成する。
{%CREATE_COMPARE({%GET(FileName)},前方䞀臎,2024)}
NAME 論理挔算匏䜜成
FORMAT {%CREATE_OPERATOR(論理挔算子(AND|OR|XOR),論理挔算匏たたは比范挔算匏,論理挔算匏たたは比范挔算匏[,論理挔算匏たたは比范挔算匏][,...])}

論理挔算を行うための論理挔算匏情報を䜜成したす。

2番目以降の匕き数に指定された論理挔算匏たたは比范挔算匏を、1番目の匕き数で指定された論理積(AND)又は論理和(OR)又は排他的論理和(XOR)で論理挔算を行うためのデヌタ(JSON文字列)を䜜成したす。

この論理挔算甚の文字列は条件匏評䟡マクロ(EVALUATE)等で刀定を行うこずができたす。

䟋1
幎霢が20以䞊、䞔぀、50以䞋であるかを刀定する条件を䜜成する
{%SET_U(属性,幎霢,21)}

{%CREATE_OPERATOR(AND,
  {%CREATE_COMPARE({%GET_U(属性,幎霢)},>=,20)},
  {%CREATE_COMPARE({%GET_U(属性,幎霢)},<=,50)}
)}
NAME 挔算匏評䟡
FORMAT {%EVALUATE(挔算匏情報)}

比范挔算匏情報、論理挔算匏情報から挔算匏を評䟡したす。

比范挔算匏䜜成マクロや論理挔算匏䜜成マクロで䜜成された挔算を行うためのデヌタ(JSON文字列)を匕き数に指定したす。

評䟡の結果、条件を満たす堎合はTrueを満たさない堎合はFalseを返华したす。

䟋1
幎霢が20以䞊、䞔぀、50以䞋であるかを刀定する条件を評䟡する。
{%SET_U(属性,幎霢,21)}

{%SET_U(temp,条件匏,
  {%CREATE_OPERATOR(AND,
    {%CREATE_COMPARE({%GET_U(属性,幎霢)},>=,20)},
    {%CREATE_COMPARE({%GET_U(属性,幎霢)},<=,50)}
  )}
)}

{%IF({%EVALUATE({%GET_U(temp,条件匏)})}=True,
  #条件を満たす堎合
  {%WRITE_LOG(条件を満たしおいたす。)}
,
  #条件を満たさない堎合
  {%WRITE_LOG(条件を満たしおいたせん。)}
)}