「新規行番号入力」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
Sukemaru (トーク | 投稿記録)
「2桁以上も可」を追加
MSY-07 (トーク | 投稿記録)
ダイアログ ボックスで [キャンセル] ボタンを押した場合の処理を追加(Ver 3.7.13でwindow.Promptメソッドの仕様が変更されたため)
 
(同じ利用者による、間の12版が非表示)
1行目: 1行目:
== 新規行番号入力 ==
このマクロは[https://www.haijin-boys.com/software/mery/mery-3-6-0#17 Mery Ver 3.6.1]で追加されたサンプルマクロの「番号の挿入」と同機能です。
※最初に使用してください。一度すべてを消去してから入力します。<br>
 
== 2桁以下まで可 ==
1. 2. といった行番号を入れるだけのマクロです。99.まで可能です。
1. 2. といった行番号を入れるだけのマクロです。99.まで可能です。


<source lang="javascript">
※最初に使用してください。一度すべてを消去してから入力します。
//全消去
 
document.selection.SelectAll();
=== ソースコード ===
document.selection.DeleteLeft(1);
<syntaxhighlight lang="javascript" copy>
var s = prompt("整数2桁までを入力してください", "");
 
if (s) {
var r = new RegExp(s);
 
// 全消去
document.selection.SelectAll();
document.selection.DeleteLeft(1);


var r = new RegExp(prompt("整数2桁までを入力してください", ""));
// 値の取得
//値の取得
document.selection.Text = r;
document.selection.Text = r;
document.selection.Replace("/", "", meFindNext | meReplaceAll);
document.selection.Replace("/", "", meFindNext | meReplaceAll);
var h = new RegExp("[0-9][0-9]");
var h = new RegExp("[0-9][0-9]");
let j = h.exec(r)[0];
let j = h.exec(r)[0];
document.selection.Replace("[0-9]", "", meFindNext | meFindAround | meFindReplaceRegExp | meReplaceAll);
document.selection.Replace("[0-9]", "", meFindNext | meFindAround | meFindReplaceRegExp | meReplaceAll);


let x = 0;
let x = 0;
for (let step = 0; step < j; step++) {
for (let step = 0; step < j; step++) {
  // 値が 0 から jまで実行される
// 値が 0 から jまで実行される
  x = step + 1;
x = step + 1;
document.selection.Text = x;
document.selection.Text = x;
document.selection.Text = ".";
document.selection.Text = ".";
document.selection.NewLine(1);
document.selection.NewLine(1);
}
}
}
</source>
</syntaxhighlight>
<br><br>
 
== 2桁以上も可 ==
== 3桁以上も可 ==
*UNDO 1回で元に戻る
* UNDO 1回で元に戻る。
*2桁以上も指定可
* 3桁以上も指定可。
*数字の前後に付加する文字列の指定可<br>※デフォルトでは後ろに付加する文字列の指定のみ
* 数字の前後に付加する文字列の指定可。
** デフォルトでは後ろに付加する文字列の指定のみ。
 
=== ソースコード ===
<syntaxhighlight lang="javascript" copy>
var s = Prompt("整数を入力してください", "");


<source lang="javascript">
if (s) {
var r = Prompt("整数を入力してください", "")
var r = s
        .replace(/[0-9]/g, function(tmp) {
.replace(/[0-9]/g, function(tmp) {
          return String.fromCharCode(tmp.charCodeAt(0) - 0xFEE0);
return String.fromCharCode(tmp.charCodeAt(0) - 0xFEE0);
        }).replace(/\D/g, "");
}).replace(/\D/g, "");
var r1 = "";
var r2 = "";
var str = "";


if (r) {
// r1 = Prompt("数字の前に追加したい文字列を入力してください", "");
  var r1 = r2 = str = "";
r2 = Prompt("数字の後ろに追加したい文字列を入力してください", "");


  // r1 = Prompt("数字の前に追加したい文字列を入力してください", "");
// キャンセルされた場合は空文字列として扱う
  r2 = Prompt("数字の後ろに追加したい文字列を入力してください", "");
if (!r2) {
r2 = "";
}


  for (var i = 1; i <= +r; i++) {
for (var i = 1; i <= +r; i++) {
    str += r1 + i + r2 + "\n";
str += r1 + i + r2 + "\n";
  }
}


  Document.Text = str.replace(/\n$/, "");
document.Text = str.replace(/\n$/, "");
}
}
</source>
</syntaxhighlight>

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$/, "");
}
スポンサーリンク