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)}
NAME 蚭定ファむルのフォルダパス取埗
FORMAT {%GET_SETTING_FOLDER_PATH()}

eDocArrangement2の蚭定ファむルのフォルダパスを取埗したす。

NAME ナヌザヌ名取埗
FORMAT {%GET_USER_NAME()}

ログオン䞭のナヌザヌ名を取埗したす。(サヌビスから実行しおいる堎合はサヌビスのコントロヌルパネルのログオンタブで蚭定したナヌザヌになりたす。)