マクロファイル

マクロモードで使用するマクロファイルについてです。

マクロファイルのファイル名

マクロファイルは、macro1.bin 〜 macro25.bin というファイル名となります。
自動実行で使う場合は、このファイルをコピーして 半角変換マクロ.bin のように別の名前を付けることも出来ます。

マクロファイルのバージョン

作成されるマクロファイルにもバージョンがあります。最新は ver 1.5 です。

現バージョンのお〜瑠璃ね〜むではマクロファイル ver 1.1 〜 1.5 を読み込めます。
(お〜瑠璃ね〜む ver 2.6以降で作成したマクロファイルが対象)

お〜瑠璃ね〜むのバージョンと生成するマクロファイルのバージョンの対応
 マクロ ver1.0 : お〜瑠璃ね〜む ver2.5
 マクロ ver1.1 : お〜瑠璃ね〜む ver2.6 〜 2.6.1
 マクロ ver1.2 : お〜瑠璃ね〜む ver2.7 〜 2.8
 マクロ ver1.3 : お〜瑠璃ね〜む ver3.0
 マクロ ver1.4 : お〜瑠璃ね〜む ver4.0 〜 4.1
 マクロ ver1.5 : お〜瑠璃ね〜む ver4.2 〜 4.9.2

ver 1.1、1.2、1.3、1.4のマクロを編集して保存すると、1.5に変換して保存します。

マクロファイルの書式 (マクロ ver1.5)

マクロファイルはバイナリデータです。通常のテキストエディタで編集するとファイルが破損します。
6バイト目までが識別子とマクロファイルのバージョン、7バイト目以降が手順となっています。
手順と手順の間は、'\n'で区切られています。

マクロファイルの書式

1バイト目: 'A'
2バイト目: 'R'
3バイト目: '1' (メジャーバージョン)
4バイト目: '0'〜'9' (マイナーバージョン。1.5なら '5')
5バイト目: '0' (旧フォルダモードオプション。廃止のため固定値'0')
6バイト目: \n (LF)
7バイト目以降: [モード識別子][手順データ]'\n'(LF) (手順の数だけ繰り返し)

[モード識別子]

以下の3バイト文字列のいずれかです。
'EDT' (位置編集)
'EXT' (拡張子)
'123' (連番)
'Aa ' (大/小文字)
'ZH ' (全角/半角)
'8_3' (8.3形式)
'ADD' (文字追加)
'DEL' (文字削除)
'TIM' (日時)
'REP' (置換)
'RND' (ランダム)

[手順データ]の書式(位置編集)

1〜518バイト目:
変更前の文字の位置を16進数で2バイト単位で変更後の並びにして格納します。 先頭の位置は'01'とします。合計259文字分です。
新しい文字を入れた場合は、'00'を格納します。
例えば、
'02' '03' '00' '04' なら、
「変更前の2文字目」「変更前の3文字目」「新規文字」「変更前の4文字目」 となります。
519バイト目: '0'〜'1' (拡張子は対象外のフラグ)
520バイト目: '0' (オプション用だが未使用)
ver4.9より、519〜520バイト目にオプションの意味を持たせるように変更しました。以前のマクロファイルでは位置情報が格納されていましたが、 これをver4.9以降で読み込んだ場合には'00' と解釈します。
521バイト目〜: 位置編集で編集した後のファイル名(※)。「新規文字」で、対応する位置の文字が使われます。

[手順データ]の書式(拡張子)

1バイト目: '0'〜'1' (後ろに付加フラグ)
2バイト目: '0' (固定値)
3バイト目: '0' (固定値)
4バイト目〜: 拡張子文字列(※)'\0\0'(NULL NULL)

[手順データ]の書式(連番)

1バイト目: '0'〜'4' (挿入位置)
2バイト目: '0'〜'1' (フォルダごとに連番フラグ)
3バイト目: '0' (固定値)
4バイト目〜: 連番用文字列(※)'\0\0'(NULL NULL)

[手順データ]の書式(大/小文字)

1バイト目: '0'〜'4' (大/小文字変換の種類)
2バイト目: '0'〜'1' (全角文字対象フラグ)
3バイト目: '0' (固定値)
4バイト目〜: 例外単語文字列(※)'\0\0'(NULL NULL)

[手順データ]の書式(全角/半角)

1バイト目: '0'〜'1' (半角化 or 全角化)
2バイト目: '0'〜'?' (対象文字の組み合わせ。最大の'?'は '0'+0x0f)
3バイト目: '0' (固定値)
4〜5バイト目: '\0\0'(NULL NULL)

[手順データ]の書式(8.3形式)

1バイト目: '0'〜'2' (8.3形式の種類)
2バイト目: '0' (固定値)
3バイト目: '0' (固定値)
4〜5バイト目: '\0\0'(NULL NULL)

[手順データ]の書式(文字追加)

1バイト目: '0'〜'1' (前から or 後ろから)
2〜3バイト目: '00'〜'99' (文字目。マクロに記録可能な範囲は99まで)
4バイト目〜: 追加文字列(※)'\0\0'(NULL NULL)

[手順データ]の書式(文字削除)

1バイト目: '0'〜';' (文字削除の種類。最大の';'は '0'+11)
2〜3バイト目: '00'〜'99' (文字目。マクロに記録可能な範囲は99まで)
4バイト目〜: xx文字分の数字文字列"0"〜"255"(※)'\0\0'(NULL NULL)

[手順データ]の書式(日時)

1バイト目: '0'〜'3' (対象の日時)
2バイト目: '0'〜'9' (フォームの種類。'9'の場合はフリーフォーム)
3バイト目: '0'〜'4' (追加場所)
4バイト目〜: 区切り文字列(※)(年月日の付与フラグありなら先頭は"年")+\0(NULL)+フリーフォーム文字列(※)'\0'(NULL)

[手順データ]の書式(置換)

1バイト目: '0'〜'2' (対象文字列)
2バイト目: '0'〜'1' (正規表現フラグ)
3バイト目: '0'〜'3' (A/a区別と拡張子の組み合わせ)
4バイト目〜: 置換元文字列(※)'\0'(NULL)+置換先文字列(※)'\0'(NULL)

[手順データ]の書式(ランダム)

1バイト目: '0'〜'6' (文字種)
2バイト目: '0'〜'5' (文字数)
3バイト目: '0'〜'3' (拡張子)
4〜5バイト目: '\0\0'(NULL NULL)

(※)文字列は変換して、難読化した状態で記録しています。 (各バイトごとに下位6ビットのいずれかが1の場合に上位2ビット目をビット反転しています。)