共通マクロ書式

読み取りデータ書式 | シンボル情報取得書式 | 配信先取得書式 | 処理結果取得書式 | ユーザデータ書式 |
グローバルデータ書式 | プラグインデータ書式 | 日付書式 | ファイル名書式 | 文字列書式 |
数学書式
| 制御書式 | 実行書式 | データベース書式 | DocuWorksAPI書式 | ブラウザフォーム書式

ユーザデータ書式

NAME ユーザデータ設定
FORMAT {%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」値「太田」
と登録されます。 
NAME ユーザデータ取得
FORMAT {%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)}
NAME ユーザデータ取得(番号による取得)
FORMAT {%GET_USER_DATA_BY_NUMBER(データ名,番号)}

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

例1
データ名「用紙枚数」の2番目に登録されたユーザデータを取得したい場合
{%SET_USER_DATA(用紙枚数,A4,3枚)}
{%SET_USER_DATA(用紙枚数,B4,5枚)}

{%GET_USER_DATA_BY_NUMBER(用紙枚数,2)}
↓
「5枚」が返却されます。
NAME ユーザデータのキー取得(番号による取得)
FORMAT {%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」が返却されます。
NAME ユーザデータ数取得
FORMAT {%GET_USER_DATA_COUNT(データ名)}

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

例1
データ名「商品データ」のデータ数を取得したい場合
{%GET_USER_DATA_COUNT(商品データ)}
NAME ユーザデータ存在チェック
FORMAT {%GET_USER_DATA_EXISTS(データ名,キー)}

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

例1
データ名「商品データ」のキー「A001-00123」のユーザデータが存在するかチェックして、存在するなら「データあり」を表示、存在しないなら「データなし」を表示する。
{%IF({%GET_USER_DATA_EXISTS(商品データ,A001-00123)}=True,{%MSGBOX(データあり)},{%MSGBOX(データなし)})}
NAME ユーザデータ削除
FORMAT {%DELETE_USER_DATA(データ名[,キー])}

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

例1
データ名「商品データ」のキー「A001」を削除する。
{%DELETE_USER_DATA(商品データ,A001)}
例2
データ名「商品データ」の全てのデータを削除する。
{%DELETE_USER_DATA(商品データ)}
NAME ユーザデータ読み込み
FORMAT {%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)}
NAME ユーザデータ保存
FORMAT {%SAVE_USER_DATA(ファイル名,データ名)}

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

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

例1
データ名「商品データ」のユーザデータを「D:\Test\UserData.txt」に保存する。
{%SAVE_USER_DATA(D:\Test\UserData.txt,商品データ)}
NAME ユーザデータ分割
FORMAT {%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

NAME ユーザデータ並び換え
FORMAT {%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)])})}
)}

グローバルデータ書式

NAME グローバルデータ取得
FORMAT {%GET_GLOBAL_DATA(名前)} 又は {%GET_G(名前)}

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

例1
名前「PATH」、文字列「C:\Test\」のグローバルデータを取得したい場合
{%GET_GLOBAL_DATA(PATH)}

プラグインデータ書式

NAME プラグインデータ取得
FORMAT {%GET_PLUGIN_DATA(名前)}

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

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