特殊改行
概要 編集
- 箇条書きを行うマクロです。自動箇条書きがありましたが、どうやっても動かなかったので作成しました。
- 融通が利かない部分があるかもしれませんが、ご容赦ください。
- 詳しくは、ソースコード内のコメントをご覧になってください。
ソースコード 編集
#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();
スポンサーリンク