処理中ファイル書式 | 状態取得書式 | グローバルデータ書式 | 日付書式 | 文字列書式
日付書式には、日付を表す日付記号を記述します。日付記号は下記を参照してください。
日付記号 | 内容 |
yy | 西暦の年を下 2 桁の数値で返します (00 ~ 99)。 |
yyyy | 西暦の年を 4 桁の数値で返します (100 ~ 9999)。 |
M | 月を表す数値を返します。1 桁の場合、先頭に 0 が付きません (1 ~ 12)。ただし、h や hhの直後に m を指定した場合、月ではなく分と解釈されます。 |
MM | 月を表す数値を返します。1 桁の場合、先頭に 0 が付きます (01 ~ 12)。ただし、h や hhの直後に mm を指定した場合、月ではなく分と解釈されます。 |
d | 日付を返します。1 桁の場合、先頭に 0 が付きません (1 ~ 31)。 |
dd | 日付を返します。1 桁の場合、先頭に 0 が付きます (01 ~ 31)。 |
ddd | 曜日を英語 (省略形) で返します (Sun ~ Sat)。 |
aaa | 曜日を日本語 (省略形) で返します (日~土)。 |
aaaa | 曜日を日本語で返します (日曜日~土曜日)。 |
g | 年号の頭文字を返します (M、T、S、H、R)。 |
gg | 年号の先頭の 1 文字を漢字で返します (明、大、昭、平、令)。 |
ggg | 年号を返します (明治、大正、昭和、平成、令和)。 |
e | 年号に基づく和暦の年を返します。1 桁の場合、先頭に 0 が付きません。 |
ee | 年号に基づく和暦の年を 2 桁の数値を使って返します。1 桁の場合、先頭に 0 が付きます。 |
H | 時間を返します。1 桁の場合、先頭に 0 が付きません (0 ~ 23)。 |
HH | 時間を返します。1 桁の場合、先頭に 0 が付きます (00 ~ 23)。 |
m | 分を返します。1 桁の場合、先頭に 0 が付きません (0 ~ 59)。 |
mm | 分を返します。1 桁の場合、先頭に 0 が付きます (00 ~ 59)。 |
s | 秒を返します。1 桁の場合、先頭に 0 が付きません (0 ~ 59)。 |
ss | 秒を返します。1 桁の場合、先頭に 0 が付きます (00 ~ 59)。 |
fff | ミリ秒を返します。先頭に 0 が付きません。 |
/ | 日付の区切り記号 |
日時加減算式は省略可能です。記述すると日付の加減算が行えます。日時加減算式はXYZの3つのデータで構成されます。
Xの部分には、「-」又は「+」が記述できます。日時を減算する場合は「-」、加算する場合は「+」を記述します。
Yの部分には、数字を記述できます。Zで示される単位についての値になります。
Zの部分には、単位を表す記号を記述できます。
単位記号 | 内容 |
q | 四半期 |
y | 年 |
M | 月 |
d | 日 |
w | 週 |
h | 時 |
m | 分 |
s | 秒 |
以下、実行した日時が 2019年5月1日 12時5分10秒351ミリ秒の場合
{%DATE(yyyy/MM/dd)}
{%DATE(yyyy/M/d)}
{%DATE(ggge年M月d日)}
{%DATE(yyMMdd)}
{%DATE(yyyy/MM/dd HH:mm)}
{%DATE(yyyy/MM/dd HH:mm:ss fff)}
{%DATE(yyyy/MM/dd,+1d)}
{%DATE(yyyy/MM/dd HH:mm,-10h)}
引数文字列の先頭と末尾の連続するスペースを削除します。
{%TRIM( abc )} -> "abc"
引数文字列の左から指定文字数分抽出します。
{%LEFT(abc,2)} -> "ab"
引数文字列の右から指定文字数分抽出します。
{%RIGHT(abc,2)} -> "bc"
引数文字列の開始位置から文字数分抽出します。文字数は省略可能。省略した場合は、文字数指定無し、つまり開始位置以降、全てとなります。
{%MID(abc,2,1)} -> "b" {%MID(abc,2)} -> "bc"
マクロ書式の説明
{%LEN(abc)} -> "3"
引数文字列を大文字に変換します。
{%TO_UPPER(abc)} -> "ABC"
引数文字列を小文字に変換します。
{%TO_LOWER(ABC)} -> "abc"
引数文字列から検索文字を検索し、置換文字に置換します。検索文字が複数見つかった場合も全て置換します。
{%REPLACE(abcde,c,x)} -> "abxde" {%REPLACE(abcabc,bc,x)} -> "axax"
引数文字列から検索文字(正規表現)を検索し、置換文字に置換します。検索文字が複数見つかった場合も全て置換します。
{%REGEX_REPLACE(ab123de,\d+,c)} -> "abcde"
値を書式に従って整形します。
書式の仕様については、日付に関して日付取得マクロと同じになります。内部的にはVB.NETのStrings.Format(名前空間:Microsoft.VisualBasic)を呼び出していますので、マイクロソフトのサイト等で、Fromatの仕様を参照してください。
{%FORMAT(5,000)} -> "005" {%FORMAT(005,0)} -> "5" {%FORMAT(2004/10/01,yyyy/MM/dd)} -> "2004/10/01" {%FORMAT(2014/11/12 18:10:20,ggge年M月d日(aaa) HH:mm:ss)} -> "平成26年11月12日(水) 18:10:20"
引数の文字列を指定回数複製した文字列を返却します。繰り返し回数に負の値を設定した場合は空文字列を返却します。
{%STRING(0,3)} -> "000" {%STRING(X,5)} -> "XXXXX" {%STRING(ABC,2)} -> "ABCABC"
正規表現で文字列の一部分を取得します。正規表現には必ず一組の()を記述してください。()の中の正規表現にマッチする文字が返却されます。
オプション文字の意味は以下の通りです。
オプション | 内容 |
i | 大文字、小文字を区別しない。 |
m | 文字列を複数行として扱う。^と$が行頭と行末にマッチするようになります。 |
正規表現の詳細については参考書等を参照願います。(.NETの正規表現ライブラリを使用しています。)
{%REGEX_CAPTURE((\d+)$,{%BASE_FILE_NAME})} 「Test001」の場合は、「001」が取得されます。
{%REGEX_CAPTURE(([^\\\\]+)\\\\[^\\\\]+$,{%FILE_FULL_PATH})}
\のエスケープが、マクロと正規表現で働くので、2重にエスケープしています。\そのものを正規表現にしたい場合には、上記の例のように\\\\と記述します。
「D:\東京支店\第一営業部\請求書001.xdw」の場合、「第一営業部」が取得されます。
{%REGEX_CAPTURE(NO(\d+),{%BASE_FILE_NAME},i)}
ファイル名の中の「NO」の後ろの数字を取得します。iオプションを指定していますので、大文字小文字を区別せず、「no」や「No」でも対象となります。
「No001_Test」の場合、「001」が取得されます。