処理中ファイル書式 | 状態取得書式 | ユーザーデータ書式 | グローバルデータ書式 | 日付書式 | 文字列書式 | 数学書式 | 制御書式 | ファイルシステム書式 | CSVファイル書式 | DocuWorks書式 | DocuWorks書式 (アノテーション関連) | その他の書式
データ領域(変数)に文字情報を一時的に記憶できます。データ名単位で、重複しないキーを指定し、複数の値(文字列)を記憶できます。
分類キーを使って、階層的にデータを保存することもできます。分類キーは0個~10個まで指定できます。
同じ名前の分類キーとキーを同じ階層に重複して追加することはできません。
ユーザーデータの内容が保持されるのは、ファイルの読み込み開始から終了まで、または、メイン画面のコンテキストメニューからマクロを実行した時から、そのマクロが終了するまでとなります。
{%SET_USER_DATA(商品データ,A001-00123,パソコン)}
{%SET_U(商品データ,A001-00123,パソコン)}
{%SET_USER_DATA(学生リスト,1年,1組,1番,伊藤)}
{%SET_USER_DATA(学生リスト,1年,1組,2番,大橋)}
{%SET_USER_DATA(学生リスト,1年,2組,1番,山田)}
{%SET_USER_DATA(学生リスト,2年,1組,1番,太田)}
以下の書き方はできません。「学生リスト,1年,1組,2番,大橋」の「1組」は分類キーで、「学生リスト,1年,1組,山岡先生」の「1組」はキーですが、同じ「1組」のため重複してしまいます。
{%SET_USER_DATA(学生リスト,1年,1組,1番,伊藤)}
{%SET_USER_DATA(学生リスト,1年,1組,2番,大橋)}
{%SET_USER_DATA(学生リスト,1年,1組,山岡先生)}
{%SET_USER_DATA(学生リスト,1年,2組,1番,山田)}
{%SET_USER_DATA(学生リスト,1年,2組,村上先生)}
{%SET_USER_DATA(学生リスト,2年,1組,1番,太田)}
{%SET_USER_DATA(学生リスト,2年,1組,木村先生)}
先生と生徒を分類したい場合は、以下の様にするとよいでしょう。
{%SET_USER_DATA(学生リスト,1年,1組,生徒,1番,伊藤)}
{%SET_USER_DATA(学生リスト,1年,1組,生徒,2番,大橋)}
{%SET_USER_DATA(学生リスト,1年,1組,先生,山岡)}
{%SET_USER_DATA(学生リスト,1年,2組,生徒,1番,山田)}
{%SET_USER_DATA(学生リスト,1年,2組,先生,村上)}
{%SET_USER_DATA(学生リスト,2年,1組,生徒,1番,太田)}
{%SET_USER_DATA(学生リスト,2年,1組,先生,木村)}
さらに、先生が複数になる場合も考慮すると以下のようになります。
{%SET_USER_DATA(学生リスト,1年,1組,生徒,1番,伊藤)}
{%SET_USER_DATA(学生リスト,1年,1組,生徒,2番,大橋)}
{%SET_USER_DATA(学生リスト,1年,1組,先生,1番,山岡)}
{%SET_USER_DATA(学生リスト,1年,2組,生徒,1番,山田)}
{%SET_USER_DATA(学生リスト,1年,2組,先生,1番,村上)}
{%SET_USER_DATA(学生リスト,2年,1組,生徒,1番,太田)}
{%SET_USER_DATA(学生リスト,2年,1組,先生,1番,木村)}
{%SET_USER_DATA(学生リスト,2年,1組,先生,2番,中川)}
データ領域(変数)に文字情報を一時的に記憶できます。データ名単位で、重複しないキーを指定し、複数の値(文字列)を記憶できます。連番のキーを追加して登録します。追加される連番は自動でカウントアップされていきます。
分類キーを使って、階層的にデータを保存することもできます。分類キーは0個~10個まで指定できます。
{%ADD_USER_DATA(参加者リスト,伊藤)}
{%ADD_USER_DATA(参加者リスト,山田)}
{%ADD_USER_DATA(参加者リスト,太田)}
この例では内部的には、キー「1」値「伊藤」、キー「2」値「山田」、キー「3」値「太田」と登録されます。
{%ADD_USER_DATA(学生リスト,1年,1組,伊藤)}
{%ADD_USER_DATA(学生リスト,1年,1組,大橋)}
{%ADD_USER_DATA(学生リスト,1年,2組,山田)}
{%ADD_USER_DATA(学生リスト,2年,1組,太田)}
この例では内部的に以下の様なデータが登録されます。
学生リスト
1年
1組
1 伊藤
2 大橋
2組
1 山田
2年
1組
1 太田
データ領域(変数)に記憶された文字情報を返却します。(SET_USER_DATAマクロでセットされたデータを返却します。)
{%GET_USER_DATA(商品データ,A001-00123)}
{%GET_U(商品データ,A001-00123)}
{%SET_USER_DATA(学生リスト,1年,1組,1番,伊藤)}
{%SET_USER_DATA(学生リスト,1年,1組,2番,大橋)}
{%SET_USER_DATA(学生リスト,1年,2組,1番,山田)}
{%SET_USER_DATA(学生リスト,2年,1組,1番,太田)}
{%WRITE_LOG({%GET_USER_DATA(学生リスト,1年,1組,1番)})}
{%WRITE_LOG({%GET_USER_DATA(学生リスト,2年,1組,1番)})}
結果
伊藤
太田
データ領域(変数)に記憶された文字情報を、番号を指定して返却します。(SET_USER_DATA,ADD_USER_DATAマクロでセットされたデータを返却します。)
{%SET_USER_DATA(商品データ,A001-00123,パソコン)}
{%SET_USER_DATA(商品データ,A001-00200,マウス)}
{%WRITE_LOG({%GET_USER_DATA_BY_NUMBER(商品データ,1)})}
結果
パソコン
{%SET_USER_DATA(学生リスト,1年,1組,1番,伊藤)}
{%SET_USER_DATA(学生リスト,1年,1組,2番,大橋)}
{%WRITE_LOG({%GET_USER_DATA_BY_NUMBER(学生リスト,1年,1組,2)})}
結果
大橋
データ領域(変数)に記憶されたキー情報を、番号を指定して返却します。(SET_USER_DATA,ADD_USER_DATAマクロでセットされたデータのキーを返却します。)
{%SET_USER_DATA(商品データ,A001-00123,パソコン)}
{%GET_USER_DATA_KEY_BY_NUMBER(商品データ,1)}
結果
A001-00123
{%SET_USER_DATA(学生リスト,1年,1組,1番,伊藤)}
{%SET_USER_DATA(学生リスト,1年,1組,2番,大橋)}
{%WRITE_LOG({%GET_USER_DATA_KEY_BY_NUMBER(学生リスト,1年,1組,2)})}
結果
2番
ユーザーデータに記憶されたデータの個数を返却します。データ名を指定します。
データ名と分類キーを指定することもできます。その場合は最後の分類キーまで指定してください。{%SET_USER_DATA(商品データ,A001-00123,パソコン)}
{%SET_USER_DATA(商品データ,A001-00200,マウス)}
{%WRITE_LOG({%GET_USER_DATA_COUNT(商品データ)})}
結果
2
{%SET_USER_DATA(学生リスト,1年,1組,1番,伊藤)}
{%SET_USER_DATA(学生リスト,1年,1組,2番,大橋)}
{%SET_USER_DATA(学生リスト,1年,2組,1番,山田)}
{%WRITE_LOG({%GET_USER_DATA_COUNT(学生リスト)})}
{%WRITE_LOG({%GET_USER_DATA_COUNT(学生リスト,1年)})}
{%WRITE_LOG({%GET_USER_DATA_COUNT(学生リスト,1年,1組)})}
{%WRITE_LOG({%GET_USER_DATA_COUNT(学生リスト,1年,1組,1番)})}
結果
0 ← 分類キーを最後まで指定していないので0となる。
0 ← 分類キーを最後まで指定していないので0となる。
2
0 ← 最後の引数に分類キーではなくキーを指定しているので0となる。
ユーザーデータに記憶されたキーの個数を返却します。データ名を指定します。
データ名と分類キーを指定することもできます。各階層の分類キーの数を取得できます。
{%SET_USER_DATA(学生リスト,1年,1組,1番,伊藤)}
{%SET_USER_DATA(学生リスト,1年,1組,2番,大橋)}
{%SET_USER_DATA(学生リスト,1年,2組,1番,山田)}
{%WRITE_LOG({%GET_USER_DATA_KEY_COUNT(学生リスト)})}
{%WRITE_LOG({%GET_USER_DATA_KEY_COUNT(学生リスト,1年)})}
{%WRITE_LOG({%GET_USER_DATA_KEY_COUNT(学生リスト,1年,1組)})}
{%WRITE_LOG({%GET_USER_DATA_KEY_COUNT(学生リスト,1年,1組,1番)})}
結果
1
2
2
0 ← 最後の引数に分類キーではなくキーを指定しているので0となる。
ユーザーデータに記憶されているデータのデータ名、分類キー、又はキーが存在するかチェックします。存在する場合、「True」を返却します。存在しない場合は、「Flase」を返却します。
{%IF({%EXISTS_USER_DATA(商品データ,A001-00123)}=True,
{%MSGBOX(データあり)}
,
{%MSGBOX(データなし)}
)}
{%SET_USER_DATA(学生リスト,1年,1組,1番,伊藤)}
{%SET_USER_DATA(学生リスト,1年,1組,2番,大橋)}
{%SET_USER_DATA(学生リスト,1年,2組,1番,山田)}
{%WRITE_LOG({%EXISTS_USER_DATA(学生リスト)})}
{%WRITE_LOG({%EXISTS_USER_DATA(学生リスト,1年)})}
{%WRITE_LOG({%EXISTS_USER_DATA(学生リスト,1年,1組)})}
{%WRITE_LOG({%EXISTS_USER_DATA(学生リスト,1年,1組,1番)})}
{%WRITE_LOG({%EXISTS_USER_DATA(学生リスト,2年)})}
{%WRITE_LOG({%EXISTS_USER_DATA(学生リスト,1年,1組,3番)})}
結果
True
True
True
True
False
False
ユーザーデータを削除します。キーは省略可能で、キーを省略した場合は、データ名で定義された全てのキーと値が削除されます。データ名とキーを指定した場合は、該当のキーと値のみが削除されます。
{%DELETE_USER_DATA(商品データ,A001)}
{%DELETE_USER_DATA(商品データ)}
SAVE_USER_DATAマクロによって、出力されたユーザーデータをファイルから読み込みます。
値に独自の形式の識別文字(改行や、タブ)が含まれる場合は、マッチした制御文字に置き換え、読み込みます。
ファイル削除指定には、「Delete」または、「Leave」を指定できます。「Delete」を指定した場合は、データ読込後に、ファイルを削除します。「Leave」を指定した場合は、ファイルを削除せず、そのまま残します。
{%LOAD_USER_DATA(D:\Test\UserData.txt,商品データ,Delete)}
ユーザーデータの内容をファイルに出力します。出力するファイルはテキスト形式で、キーと値がタブで区切られたTAB区切りデータになります。複数のデータがある場合は、1データ1行で改行されて出力されます。
また、値に、改行や、タブが含まれる場合は、独自の形式で識別文字に置き換え保存します。
{%SAVE_USER_DATA(D:\Test\UserData.txt,商品データ)}
グローバルデータ設定で設定された文字列を、引数のデータ名により返却します。
{%GET_GLOBAL_DATA(PATH)}