処理中ファイル書式 | 状態取得書式 | ユーザーデータ書式 | グローバルデータ書式 | 日付書式 | 文字列書式 | 数学書式 | 制御書式 | ファイルシステム書式 | 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)}