「新規行番号入力」の版間の差分
ナビゲーションに移動
検索に移動
処理の順番を変更(ダイアログボックスで [キャンセル] ボタンを押すと文書が全消去されるため) |
ダイアログ ボックスで [キャンセル] ボタンを押した場合の処理を追加(Ver 3.7.13でwindow.Promptメソッドの仕様が変更されたため) |
||
| 8行目: | 8行目: | ||
=== ソースコード === | === ソースコード === | ||
<syntaxhighlight lang="javascript" copy> | <syntaxhighlight lang="javascript" copy> | ||
var | var s = prompt("整数2桁までを入力してください", ""); | ||
if (s) { | |||
var r = new RegExp(s); | |||
// | // 全消去 | ||
document.selection. | document.selection.SelectAll(); | ||
document.selection.DeleteLeft(1); | |||
document.selection. | |||
let x = 0; | // 値の取得 | ||
for (let step = 0; step < j; step++) { | document.selection.Text = r; | ||
document.selection.Replace("/", "", meFindNext | meReplaceAll); | |||
var h = new RegExp("[0-9][0-9]"); | |||
let j = h.exec(r)[0]; | |||
document.selection.Replace("[0-9]", "", meFindNext | meFindAround | meFindReplaceRegExp | meReplaceAll); | |||
let x = 0; | |||
for (let step = 0; step < j; step++) { | |||
// 値が 0 から jまで実行される | |||
x = step + 1; | |||
document.selection.Text = x; | |||
document.selection.Text = "."; | |||
document.selection.NewLine(1); | |||
} | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| 39行目: | 43行目: | ||
=== ソースコード === | === ソースコード === | ||
<syntaxhighlight lang="javascript" copy> | <syntaxhighlight lang="javascript" copy> | ||
var | var s = Prompt("整数を入力してください", ""); | ||
if (r) { | if (s) { | ||
var r = s | |||
.replace(/[0-9]/g, function(tmp) { | |||
return String.fromCharCode(tmp.charCodeAt(0) - 0xFEE0); | |||
}).replace(/\D/g, ""); | |||
var r1 = ""; | var r1 = ""; | ||
var r2 = ""; | var r2 = ""; | ||
| 51行目: | 56行目: | ||
// r1 = Prompt("数字の前に追加したい文字列を入力してください", ""); | // r1 = Prompt("数字の前に追加したい文字列を入力してください", ""); | ||
r2 = Prompt("数字の後ろに追加したい文字列を入力してください", ""); | r2 = Prompt("数字の後ろに追加したい文字列を入力してください", ""); | ||
// キャンセルされた場合は空文字列として扱う | |||
if (!r2) { | |||
r2 = ""; | |||
} | |||
for (var i = 1; i <= +r; i++) { | for (var i = 1; i <= +r; i++) { | ||
2026年9月10日 (木) 02:05時点における最新版
このマクロはMery Ver 3.6.1で追加されたサンプルマクロの「番号の挿入」と同機能です。
2桁以下まで可[編集]
1. 2. といった行番号を入れるだけのマクロです。99.まで可能です。
※最初に使用してください。一度すべてを消去してから入力します。
ソースコード[編集]
var s = prompt("整数2桁までを入力してください", "");
if (s) {
var r = new RegExp(s);
// 全消去
document.selection.SelectAll();
document.selection.DeleteLeft(1);
// 値の取得
document.selection.Text = r;
document.selection.Replace("/", "", meFindNext | meReplaceAll);
var h = new RegExp("[0-9][0-9]");
let j = h.exec(r)[0];
document.selection.Replace("[0-9]", "", meFindNext | meFindAround | meFindReplaceRegExp | meReplaceAll);
let x = 0;
for (let step = 0; step < j; step++) {
// 値が 0 から jまで実行される
x = step + 1;
document.selection.Text = x;
document.selection.Text = ".";
document.selection.NewLine(1);
}
}
3桁以上も可[編集]
- UNDO 1回で元に戻る。
- 3桁以上も指定可。
- 数字の前後に付加する文字列の指定可。
- デフォルトでは後ろに付加する文字列の指定のみ。
ソースコード[編集]
var s = Prompt("整数を入力してください", "");
if (s) {
var r = s
.replace(/[0-9]/g, function(tmp) {
return String.fromCharCode(tmp.charCodeAt(0) - 0xFEE0);
}).replace(/\D/g, "");
var r1 = "";
var r2 = "";
var str = "";
// r1 = Prompt("数字の前に追加したい文字列を入力してください", "");
r2 = Prompt("数字の後ろに追加したい文字列を入力してください", "");
// キャンセルされた場合は空文字列として扱う
if (!r2) {
r2 = "";
}
for (var i = 1; i <= +r; i++) {
str += r1 + i + r2 + "\n";
}
document.Text = str.replace(/\n$/, "");
}
スポンサーリンク