連番を挿入
ナビゲーションに移動
検索に移動
カーソル行頭 or 選択範囲行頭に連番を挿入するマクロです。
連番を挿入 | 連番の挿入を実行します。 |
---|---|
形式 | 連番の種類(スタイル)。 プリセット(あらかじめ用意した設定)の適応もここで行います。 |
開始 | 開始番号(0以上の整数)。 |
個数 | 行数(1以上の整数)。範囲選択時は変更できません。..数値 と入力すると、数値を終了番号とみなします。たとえば、 ..9 なら9までで終わる連番になるよう個数を逆算します。
|
増分 | 増加幅(0以上の整数)。 |
桁数 | 最低桁数(0以上の整数。0 で最長桁揃え)。 桁埋めしたくない場合、1 を指定してください。 |
桁埋 | 桁埋め文字(1文字)。結合文字列には対応していません。 空欄にすると、スタイル既定の桁埋め文字が適用されます。 |
接頭 接尾 |
連番の前後に付加する文字列。下記の特殊記法が使えます。%t (タブ)、%% (文字 %)、%A (始値)、%Z (終値)
|
(プレビュー) もっと見る |
連番の内容(最初と最後)の下見です。 [もっと見る] で最初6個と最後6個を下見できます。 |
注意点
- 範囲選択時は行全体を選択してから、論理行頭(論理座標)に連番を挿入します。
- 連番の限度は 9007兆1992億5474万0991 (253−1) です。超過した場合の動作は保証しません。
JavaScript の仕様では、この数値を超えると整数の取り扱いに不都合が生じます。 - 個数の限度は 42億9496万7295 (232−1) です。メモリ不足の場合の動作は保証しません。
- 桁埋・接頭・接尾の入力時にキャンセルすると、前の状態に戻るのではなく、空欄となります。
これは仕様上解決できませんので、ご了承ください。 - 桁埋・接頭・接尾・プレビューでは、下記のような代替表示が行われます。
- 半角空白 (U+0020) →
␣
(U+2423) と表示 - 全角空白 (U+3000) →
〼
(U+303C) と表示 - 水平タブ (U+0009) →
›
(U+203A) と表示
- 半角空白 (U+0020) →
- プレビューでは、最長桁数を実際より少なく見積もることがあります。
ソースコード
ダウンロード→ 連番を挿入.zip
- 拙作ですがアイコンファイル (連番を挿入.ico) を同梱してあります。
Mery 2.4.7 以降の場合、マクロ (連番を挿入.js) と同じフォルダに、
Mery 2.4.6 以前の場合、Mery.exe と同じフォルダに、
アイコンファイルを配置しておくとツールバーにアイコンが読み込まれます。
更新履歴
- 2019/12/21 (rev.2)
- アイコンファイルを同梱し、読み込むようにした。
- 連番の挿入を実行後、実行範囲を行選択するようにした。
- 「プレビュー」を一番下に移動し、「もっと見る」を追加。
- スタイルの概念を導入(英字・仮名・ローマ数字・漢数字連番などに対応)。
- 「形式」を追加。「プリセット」は削除。
- 個数で、
..数値
と入力すると終了番号とみなすようにした。 - 指定した桁数までしか桁埋めしない仕様に変更。
- 桁数を 0 にすると、最長桁揃えができるようにした。
- 桁埋を空欄にした場合、スタイルの既定を適用する仕様に変更。
- 接頭・接尾で、% による特殊記法を導入。
- 入力ダイアログの見出しを「項目名:」→「項目名: 現在値」に変更。
- 開始・個数・増分・桁数で、限度を超過した数値を受け付けないようにした。
- 桁埋で、2文字以上を指定した場合、最初の1文字のみ受け付けるようにした。
- 桁埋・接頭・接尾・プレビューで、文字 & が正常に表示されないのを修正。
- 代替表示の対象に全角空白を追加。空欄を除外。
- サロゲートペアに対応。
- 2013/08/25 (rev.1)
- 初版公開。
連番の形式
「形式」の内容は、ソースコードの最初あたりで定義されています。
//■形式
// ----------------- ↓ここより下に定義を追加
/* スタイル切替の例 */
,{text:"%{style.text}\t%{style.pad}埋", style:"dec"}
,{text:"%{style.text}\t%{style.pad}埋", style:"up-roman"}
,{text:"%{style.text}\t%{style.pad}埋", style:"up-latin"}
,{text:"%{style.text}\t%{style.pad}埋", style:"hira"}
,{text:"%{style.text}\t%{style.pad}埋", style:"kanji"}
/* プリセットの例 */
,{text:"(1),(2),(3) ...", style:"dec", prefix:"(", suffix:")"}
,{text:"1.␣,2.␣,3.␣ ...", style:"dec", prefix:"", suffix:". "}
,{text:"1/Z › ,2/Z › ,3/Z › ... (Z:終値)", style:"dec", prefix:"", suffix:"/%Z%t"}
,{text:"A ... Z [%{count}個]", style:"up-latin", start:"1", count:"26", step:"1"}
,{text:"あ ... ん [%{count}個]", style:"hira", start:"1", count:"48", step:"1"}
,{text:"北海道 ... 沖縄県 [%{count}個]", style:"pref", start:"1", count:"47", step:"1"}
,{text:"表示文", style:"スタイル", start:"開始", count:"個数", step:"増分", digit:"桁数", pad:"桁埋", prefix:"接頭", suffix:"接尾"}
- style, start, count, step, digit, pad, prefix, suffix
- 適用する設定。
- ※
style
に存在しないスタイル名を指定すると、適用時にエラーになります。 - ※範囲選択時は個数が固定されるため、
count
の指定は無視されます。 - text
- メニューに表示する文章。下記の特殊記法が使えます。
%{xxx}
:適用する設定 xxx の値。たとえば、%{start}
など。%{style.xxx}
:適用する style の xxx の値。たとえば、%{style.text}
など。
- ※ xxx が存在しない場合、
%{...}
部分は置換されず、そのまま表示されます。 - ※
pad
,prefix
,suffix
の値には代替表示が適用されます。
定義済みスタイル
初期状態で定義されているスタイルです。
style | 形式表示 | 例 | 説明 |
---|---|---|---|
dec | 1,2,3 | 0,1,2,3 ... 9,10,11 ... | 算用数字(アラビア数字)。 |
dec-full | 1,2,3 | 0,1,2,3 ... 9,10,11 ... | 全角算用数字。 |
dec-kanji | 一,二,三 | 〇,一,二,三 ... 九,一〇,一一 ... | 漢数字・位取り表記。 |
up-roman | I,II,III | I,II,III ... IX,X,XI ... | ローマ数字(英字表記)。1から3999まで。 0と4000以上は算用数字になります。 |
lo-roman | i,ii,iii | i,ii,iii ... ix,x,xi ... | |
up-latin | A,B,C | A,B,C ... Z,AA,AB ... | 英字(ラテン・アルファベット)。26種。 |
lo-latin | a,b,c | a,b,c ... z,aa,ab ... | |
up-latin-full | A,B,C | A,B,C ... Z,AA,AB ... | 全角英字。 |
lo-latin-full | a,b,c | a,b,c ... z,aa,ab ... | |
up-greek | Α,Β,Γ | Α,Β,Γ ... Ω,ΑΑ,ΑΒ ... | ギリシャ文字。24種。 |
lo-greek | α,β,γ | α,β,γ ... ω,αα,αβ ... | |
hira | あ,い,う | あ,い,う ... ん,ああ,あい ... | 仮名文字・五十音順。48種。 |
kata | ア,イ,ウ | ア,イ,ウ ... ン,アア,アイ ... | |
kata-half | ア,イ,ウ | ア,イ,ウ ... ン,アア,アイ ... | 半角カタカナ・五十音順。46種(「ヰヱ」が無い)。 |
hira-iroha | い,ろ,は | い,ろ,は ... す,いい,いろ ... | 仮名文字・いろは順。47種(「ン」が無い)。 |
kata-iroha | イ,ロ,ハ | イ,ロ,ハ ... ス,イイ,イロ ... | |
kanji | 一,十,百 | 〇,一,二,三 ... 九,十,十一 ... | 漢数字。 |
daiji | 壱,拾,百 | 零,壱,弐,参 ... 九,拾,拾壱 ... | 漢数字・大字。 |
circled-num | ①,②,③ | ①,②,③ ... ⑨,⑩,⑪ ... | 丸数字。1から20まで。 |
stem | 十干 | 甲,乙,丙 ... 癸,甲,乙 ... | 十干(天干 / Heavenly Stems)。10種ループ。 |
branch | 十二支 | 子,丑,寅 ... 亥,子,丑 ... | 十二支(地支 / Earthly Branches)。12種ループ。 |
stem-branch | 六十干支 | 甲子,乙丑,丙寅 ... | 六十干支。60種ループ。 |
pref | 都道府県 | 北海道,青森県,岩手県 ... | 都道府県(prefecture)。47種ループ。 |
hitotsu | 一 | 一,一,一 ... | 一つ書き。1種ループ。 |
naka | ・ | ・,・,・ ... | 中黒・中点。和文の箇条書きで用いられる。 |
disc | • | •,•,• ... | Bullet(ビュレット)。欧文の箇条書きで用いる。 |
none | 無し | 連番無し。 |
スタイルの定義
スタイルについては HTML / CSS の @counter-style を一部参考にしています。
//■スタイル
// ----------------- ↓ここより下に定義を追加
/* system:"numeric" の例 */
,"dec":{label:"1,2,3", text:"1,2,3 ... 9,10,11 ...",
system:"numeric", pad:"0", zero:"0", symbols:"0123456789".split("")}
/* system:"alphabetic" の例 */
,"up-latin":{label:"A,B,C", text:"A,B,C ... Z,AA,AB ... (26種)",
system:"alphabetic", pad:" ", symbols:"ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("")}
/* system:"cyclic" の例 */
,"stem":{label:"十干", text:"甲,乙,丙 ... 癸,甲,乙 ... (10種)",
system:"cyclic", pad:" ", symbols:"甲乙丙丁戊己庚辛壬癸".split("")}
/* system:"additive" の例 */
,"up-roman":{label:"I,II,III", text:"I,II,III ... IX,X,XI ... (~3999)", range:[1,3999],
system:"additive", pad:" ", symbols:[1000,"M",900,"CM",500,"D",400,"CD",100,"C",90,"XC",50,"L",40,"XL",10,"X",9,"IX",5,"V",4,"IV",1,"I"]}
/* system:"kanji" の例 */
,"daiji":{label:"壱,拾,百", text:"壱,弐,参 ... 九,拾,拾壱 ...",
system:"kanji", pad:" ", zero:"零", symbols:[["","壱","弐","参","四","五","六","七","八","九"],["","拾","百","千"],["","万","億","兆"]]}
,"スタイル名":{label:"形式表示", text:"表示文", range:[下限値,上限値], system:"生成方式", pad:"桁埋", zero:"ゼロの表現", symbols:配列}
- label
- 形式表示。メニューの「形式: ○○○」の ○○○ 部分に使用されます。
- text
- 表示文。
%{style.text}
で表示される文章。 - range
- 生成できる連番の範囲。範囲を超えると算用数字の連番に移行します。
- pad
- スタイル既定の桁埋め文字。
- zero
- ゼロの表現。省略するとゼロ非対応とみなし、算用数字の
0
を出力します。 - system, symbols
system 説明・例示 numeric 位取り記数法式の連番を生成します。 symbols:["0","1","2"]
→ 1, 2, 10, 11, 12, 20, 21 ...symbols:["a","b","c"]
→ b, c, ba, bb, bc, ca, cb ...alphabetic アルファベット式の連番を生成します。 symbols:["a","b","c"]
→ a, b, c, aa, ab, ac, ba ...symbols:["0","1","2"]
→ 0, 1, 2, 00, 01, 02, 10 ...cyclic 巡回する連番を生成します。 symbols:["a","b","c"]
→ a, b, c, a, b, c, a ...symbolic 段々重ねとなる連番を生成します。 symbols:["a","b","c"]
→ a, b, c, aa, bb, cc, aaa ...additive ローマ数字式の連番を生成します。 kanji 漢数字式の連番を生成します。
スポンサーリンク