概要 編集

  • 箇条書きを行うマクロです。自動箇条書きがありましたが、どうやっても動かなかったので作成しました。
  • 融通が利かない部分があるかもしれませんが、ご容赦ください。
  • 詳しくは、ソースコード内のコメントをご覧になってください。

ソースコード 編集

#title = "特殊改行"
#tooltip = "特殊改行"

//マクロを実行すると改行され、数字以外がカーソル行の先頭の文字を入力、数字だったらそれに+1します。
//001などの場合、桁数もそろうし、'.'と'. 'の二つが数字の後にあったらそれも追加します。
//空白の引継ぎもします。
//何も入力していない場合、'・'が入力されます。
//全角数字には未対応。
//よって初めの一つ目は自分で入力する必要があります('・'以外)。
//あとは使って覚えたほうがいいです(ショートカットを登録するのがおすすめです)。
//更新:2024-09-03
//作成者:FuG

document.write('\n');
let len = document.Selection.GetActivePointY(mePosLogical) - 1;

let txt = Editor.ActiveDocument.Text;

for (let i = 1; i < len; i++){
	txt = txt.substr(txt.indexOf('\n') + 1);
}
txt = txt.substr(0, txt.indexOf('\n'));

for (let i = 0; i < txt.length; i++){
	if (txt.charAt(i) === '\t'){
		document.write('\t');
	}else if (txt.charAt(i) === ' '){
		document.write(' ');
	}else if (txt.charAt(i) === ' '){
		document.write(' ');
	}else{
		break;
	}
}

txt = txt.replace(/^\s+/, '');
let save_txt = txt;

if (txt === ''){
	txt = '・';
}
let num = txt.charAt(0);
let numFlag = 0;
let numnum = -1;

if (isNaN(num) == false){
	let number = [];
	let zeroNum = 0;
	let zeroFlag = 1;
	numFlag = 1;
	for (let i = 0; i < txt.length; i++){
		if (isNaN(txt.charAt(i)) == false && txt.charAt(i) != " " && txt.charAt(i) != " "){
			number.push(txt.charAt(i));
			if (Number(txt.charAt(i)) == 0 && zeroFlag == 1){
				zeroNum += 1;
			}else{
				zeroFlag = 0;
			}
		}else{
			numnum = i;
			break;
		}
	}
	let b_num = 0;
	for (let i = 0; i < number.length; i++){
		b_num += Number(number[i]) * Math.pow(10, (number.length - i - 1));
	}
	num = b_num + 1;
	if (num.toString().length != b_num.toString().length){
		zeroNum -= 1
	}
	if (zeroNum > 0){
		for (let i = 0; i < zeroNum; i++){
			document.write('0');
		}
	}
}else if (txt.charAt(1) == ' ' || txt.charAt(1) == ' '){
	num = num + txt.charAt(1);
}
	

document.write(num);

if (numFlag == 1 && numnum != -1 && txt.length > numnum){
	document.write(txt.charAt(numnum));
	if (txt.charAt(numnum + 1) == ' ' && txt.length > numnum + 1){
		document.write(' ');
	}else if (txt.charAt(numnum + 1) == ' ' && txt.length > numnum + 1){
		document.write(' ');
	}
}

quit();
スポンサーリンク