コメントの実行プロセスに書いたとおり
選択範囲内の指定文字の後に改行を入れてセルを上書きしたくて書いたコードです。
コード.gs
/************************************
formatText()を実行する
実行プロセス
1. 選択範囲の値を取得する
2. 一行ずつテキストを置換して配列に追加する
3. 選択範囲の値を置換したテキストで上書きする
************************************/
function formatText() {
Logger.log("start");
const values = targetRange().getValues();
let newValues = [];
for(let i = 0; i < values.length; i++) {
const text = values[i][0];
const newText = replaceText(text);
newValues.push([newText]);
}
targetRange().setValues(newValues);
Logger.log("success!");
}
/************************************
テキストの指定文字を置換して返す
************************************/
function replaceText(text) {
return text.replace(/、/g, "、\n").replace(/。/g, "。\n").replace(/を/g, "を\n");
}
/************************************
現在選択されている範囲を取得して返す
************************************/
function targetRange() {
return SpreadsheetApp.getActiveSheet().getSelection().getActiveRange();
}
|