eDocArrangementHelp

共通マクロ書式

ユーザデータ書式
ユーザデータ設定

{%SET_USER_DATA(データ名,キー,値)} 又は {%SET_U(データ名,キー,値)}

マクロで使用可能なデータ領域(変数)に、文字情報を一時的に記憶できます。データ名単位で、重複しないキーを指定し、複数の値(文字列)を記憶できます。

キーを省略した場合は、1から順に番号をキーとして値が記憶されていきます。

例1

データ名「商品データ」、キー「A001-00123」、値「パソコン」をユーザデータに記憶したい場合

{%SET_USER_DATA(商品データ,A001-00123,パソコン)}

例2

データ名「参加者リスト」、キーは省略、値に、伊藤、山田、太田をユーザデータに記憶したい場合

{%SET_USER_DATA(参加者リスト,,伊藤)} 
{%SET_USER_DATA(参加者リスト,,山田)} 
{%SET_USER_DATA(参加者リスト,,太田)} 

この例では内部的には、キー「1」値「伊藤」、キー「2」値「山田」、キー「3」値「太田」
と登録されます。
ユーザデータ取得

{%GET_USER_DATA(データ名,キー)} 又は {%GET_U(データ名,キー)}

マクロで使用可能な、データ領域(変数)に記憶された文字情報を返却します。(SET_USER_DATAマクロでセットされたデータを返却します。)

例1

データ名「商品データ」、キー「A001-00123」のユーザデータを取得したい場合(SET_USER_DATAの例1参照)

{%GET_USER_DATA(商品データ,A001-00123)}

例2

データ名「参加者リスト」の2番目に登録されたユーザデータを取得したい場合(SET_USER_DATAの例2参照)

{%GET_USER_DATA(参加者リスト,2)}
ユーザデータ取得(番号による取得)

{%GET_USER_DATA_BY_NUMBER(データ名,番号)}

マクロで使用可能な、データ領域(変数)に記憶された文字情報を、番号指定で取得します。キーを指定して設定したユーザーデータでも設定順の番号で指定可能です。

例1

データ名「用紙枚数」の2番目に登録されたユーザデータを取得したい場合

{%SET_USER_DATA(用紙枚数,A4,3枚)}
{%SET_USER_DATA(用紙枚数,B4,5枚)}

{%GET_USER_DATA_BY_NUMBER(用紙枚数,2)}
↓
「5枚」が返却されます。
ユーザデータのキー取得(番号による取得)

{%GET_USER_DATA_KEY_BY_NUMBER(データ名,番号)}

マクロで使用可能な、データ領域(変数)に記憶されたキーを、番号指定で取得します。キーを指定して設定したユーザーデータでも設定順の番号で指定可能です。

例1

データ名「用紙枚数」の2番目に登録されたユーザデータのキーを取得したい場合

{%SET_USER_DATA(用紙枚数,A4,3枚)}
{%SET_USER_DATA(用紙枚数,B4,5枚)}

{%GET_USER_DATA_KEY_BY_NUMBER(用紙枚数,2)}
↓
「B4」が返却されます。
ユーザデータ数取得

{%GET_USER_DATA_COUNT(データ名)}

ユーザデータに記憶されたデータの個数を返却します。データ名を指定します。

例1

データ名「商品データ」のデータ数を取得したい場合

{%GET_USER_DATA_COUNT(商品データ)}
ユーザデータ存在チェック

{%GET_USER_DATA_EXISTS(データ名,キー)}

ユーザデータに記憶されているデータのキーが存在するかチェックします。データが存在する場合、「True」を返却します。存在しない場合は、「Flase」を返却します。

例1

データ名「商品データ」のキー「A001-00123」のユーザデータが存在するかチェックして、存在するなら「データあり」を表示、存在しないなら「データなし」を表示する。

{%IF({%GET_USER_DATA_EXISTS(商品データ,A001-00123)}=True,{%MSGBOX(データあり)},{%MSGBOX(データなし)})}
ユーザデータ削除

{%DELETE_USER_DATA(データ名[,キー])}

ユーザデータを削除します。キーは省略可能で、キーを省略した場合は、データ名で定義された全てのキーと値が削除されます。データ名とキーを指定した場合は、該当のキーと値のみが削除されます。

例1

データ名「商品データ」のキー「A001」を削除する。

{%DELETE_USER_DATA(商品データ,A001)}

例2

データ名「商品データ」の全てのデータを削除する。

{%DELETE_USER_DATA(商品データ)}
ユーザデータ読み込み

{%LOAD_USER_DATA(ファイル名,データ名[,ファイル削除指定])}

SAVE_USER_DATAマクロによって、出力されたユーザデータをファイルから読み込みます。

値に独自の形式の識別文字(改行や、タブ)が含まれる場合は、マッチした制御文字に置き換え、読み込みます。

ファイル削除指定には、「Delete」または、「Leave」を指定できます。「Delete」を指定した場合は、データ読込後に、ファイルを削除します。「Leave」を指定した場合は、ファイルを削除せず、そのまま残します。

例1

「D:\Test\UserData.txt」からユーザデータをデータ名「商品データ」に読み込み、読込後にファイル「D:\Test\UserData.txt」を削除する。

{%LOAD_USER_DATA(D:\Test\UserData.txt,商品データ,Delete)}
ユーザデータ保存

{%SAVE_USER_DATA(ファイル名,データ名)}

ユーザデータの内容をファイルに出力します。出力するファイルはテキスト形式で、キーと値がタブで区切られたTAB区切りデータになります。複数のデータがある場合は、1データ1行で改行されて出力されます。

また、値に、改行や、タブが含まれる場合は、独自の形式で識別文字に置き換え保存します。

例1

データ名「商品データ」のユーザデータを「D:\Test\UserData.txt」に保存する。

{%SAVE_USER_DATA(D:\Test\UserData.txt,商品データ)}
ユーザデータ分割

{%SPLIT_USER_DATA(対象ユーザデータ,出力ユーザデータ,区切り文字,キーとなる項目番号)}

CSVファイルを読み込む場合は、新しく追加された CSV_FILE_READ マクロをご利用ください。

カンマ区切りやタブ区切りのテキストファイルをFILE_READマクロで読み込んだユーザデータを対象に、区切り文字で項目を分割し、結果を指定したユーザデータに格納します。

分割されるデータには、ユニークキーが存在することが前提で、引数にユニークキーの項目番号(1~n)を指定します。

結果として格納されるユーザデータは、「引数で指定した出力ユーザデータ名 + "_" + ユニークキー」という名前で設定します。したがって、データの件数分、ユーザデータが作成されることになります。

分割されたデータにユニークキーとして指定した項目が存在しない場合(0を指定した場合等)は、ユーザデータ名の末尾に付加する文字を行番号にします。(「引数で指定した出力ユーザデータ + "_" + 行番号」)

ユニークであるはずのキーが複数存在した場合には、後から読み込んだデータ(キー)で上書きします。

ユーザデータの中身は、項目番号をキーとして、項目の内容を値としてセットします。

区切り文字にタブを指定する場合は、「vbTab」を指定します。また、カンマを指定する場合は、「\,」を指定します。

例1

「マスタ.txt」を読み込み、タブで分割して、取引先_で始まるユーザデータに結果を格納する。


                
                  [マスタ.txtの内容(タブ区切りで1番目の項目がユニークキー)]
                
              

                001  山田商事  03-5555-1112
002  大橋運輸  03-5555-1234
003  伊藤商店  03-5555-6655


                  [マクロ]
                
{%FILE_READ(C:\Test\Data\マスタ.txt,マスタ)}
{%SPLIT_USER_DATA(マスタ,取引先,vbTab,1)}
{%MSGBOX({%GET_USER_DATA(取引先_003,2)} {%GET_USER_DATA(取引先_003,3)})}
              
            
            
              
                
                  [結果]
                
伊藤商店 03-5555-6655
              
ユーザデータ並び換え

{%SORT_USER_DATA(対象ユーザデータ,並び順,対象,データタイプ)}

ユーザデータの内容を並び換えます。

対象ユーザデータには、並び換えを行うユーザデータの名前を指定します。

並び順には、「ASC」又は「DESC」を指定します。「ASC」を指定した場合、昇順に並び換えられます。「DESC」を指定した場合、降順に並び換えられます。

対象には、「KEY」又は「VALUE」を指定します。「KEY」を指定した場合、キーを対象に並び換えを行います。「VALUE」を指定した場合、値を対象に並び換えを行います。

データタイプには、「STRING」又は「INTEGER」を指定します。「STRING」を指定した場合、文字列として並び換えを行います。「INTEGER」を指定した場合、数値として並び換えを行います。「INTEGER」を指定した場合に、データに文字があると、エラー「型が一致しません」が発生します。

ユーザデータを並び替えたあとは、「GET_USER_DATA_BY_NUMBER」又は、「GET_USER_DATA_KEY_BY_NUMBER」で値を取得すると、並び順でデータが取得できます。

例1

ユーザデータ「wk」を値の昇順に並び替える。(値は数値として判定する)

{%SET_USER_DATA(wk,1,100)}
{%SET_USER_DATA(wk,2,300)}
{%SET_USER_DATA(wk,3,200)}
{%SORT_USER_DATA(wk,ASC,VALUE,INTEGER)}

#--

{%LOOP L1 {%GET_USER_DATA_COUNT(wk)}(
  {%MSGBOX({%GET_USER_DATA_KEY_BY_NUMBER(wk,[L_IDX(L1)])})}
)}

例2

ユーザデータ「wk」をキーの降順に並び替える。(キーは文字列として判定する)

{%SET_USER_DATA(wk,きとう,1)}
{%SET_USER_DATA(wk,やまもと,2)}
{%SET_USER_DATA(wk,にしだ,3)}
{%SORT_USER_DATA(wk,DESC,KEY,STRING)}

#--

{%LOOP L1 {%GET_USER_DATA_COUNT(wk)}(
  {%MSGBOX({%GET_USER_DATA_KEY_BY_NUMBER(wk,[L_IDX(L1)])})}
)}
グローバルデータ書式
グローバルデータ取得

{%GET_GLOBAL_DATA(名前)} 又は {%GET_G(名前)}

グローバルデータ設定で設定された文字列を、引数の名前により返却します。

例1

名前「PATH」、文字列「C:\Test\」のグローバルデータを取得したい場合

{%GET_GLOBAL_DATA(PATH)}
プラグインデータ書式
プラグインデータ取得

{%GET_PLUGIN_DATA(名前)}

プラグインデータ設定で設定された文字列を、引数の名前により返却します。プラグインから実行された場合のみ取得可能です。それ以外は空文字が返却されます。

例1

名前「氏名」、文字列「山田」のプラグインデータを取得したい場合

{%GET_PLUGIN_DATA(氏名}