sakura editor文本处理脚本
//行数を取得
var cnt = Editor.GetLineCount(0);
//Editor.MessageBox(lines);
//転記年月切り替え用
var budatStart = 9; //転記年月開始桁数
var compareBudat = "202410"; //転記年月(比較用) ★修正要★
var replaceBudat = "20241001"; //転記年月日(切替用) ★修正要★
//借貸区分切り替え用
var shkzgStart = 2; //借貸区分開始桁数
//マイナス転記フラグ切り替え用
var glNameLength = 7; //一行目G/L勘定名の桁数 ★修正要★
var xnegpStart = 50; //マイナス転記フラグ開始桁数
xnegpStart = xnegpStart - glNameLength;
var allLineStr = "";
for (var i=1; i<= cnt; i++) {
var lineStr = Editor.GetLineStr(i);
//★★★転記日切替★★★
if (lineStr.substring(budatStart, budatStart + 6) !== compareBudat) {
lineStr = lineStr.substring(0, budatStart) + replaceBudat + lineStr.substring(budatStart + 8);
}
//★★★借貸区分切替★★★
var shkzg = lineStr.substring(shkzgStart, shkzgStart + 1);
if (shkzg == "S") {
shkzg = "H";
} else {
shkzg = "S";
}
lineStr = lineStr.substring(0, shkzgStart) + shkzg + lineStr.substring(shkzgStart + 1);
//★★★マイナス転記フラグ切替★★★
xnegp = lineStr.substring(xnegpStart, xnegpStart + 1);
if (xnegp == "X") {
xnegp = " ";
} else {
xnegp = "X";
}
lineStr = lineStr.substring(0, xnegpStart) + xnegp + lineStr.substring(xnegpStart + 1);
allLineStr += lineStr;
}
//内容を切り替え
Editor.SelectAll(0);
Editor.InsText(allLineStr);