我目前正在做一個專案,我通過應用程式腳本將資料發送到谷歌表。我需要更改一些資料的值并使用createTextFinder. 感謝此執行緒中的@Mimi。但事實是我需要替換多個文本。我需要在附加資料時更改文本。提前致謝
這是我的代碼
function addUser(sheet) {
var FILE = SpreadsheetApp.openById("XXXXXXXXXXXXX");
var sheet = FILE.getSheetByName("Sheet1");
var id = "True";
var name = "FALSE";
var t1 = createTextFinder("TRUE").replaceAllWith("YES")
var t2 = createTextFinder("FALSE").replaceAllWith("NO")
sheet.appendRow([id,name]).t1.t2;
uj5u.com熱心網友回復:
多次更換
function addUser() {
const txtA = ['txt1', 'txt2', 'text3'];
const rplA = ['rpl1', 'rpl2', 'repl3'];
var ss = SpreadsheetApp.openById("XXXXXXXXXXXXX");
var sh = ss.getSheetByName("Sheet1");
txtA.forEach((t, i) => {
let f = sh.createTextFinder(t).findAll();
if (f) {
f.forEach(r => { r.setValue(r.getValue().replace(txtA[i], rplA[i])); });
}
});
}
uj5u.com熱心網友回復:
從I need to change the text when the data is appending.,在這種情況下,下面的修改如何?
從:
var t1 = createTextFinder("TRUE").replaceAllWith("YES")
var t2 = createTextFinder("FALSE").replaceAllWith("NO")
sheet.appendRow([id,name]).t1.t2;
到:
var values = [id, name].map(e => {
var temp = e.toUpperCase();
return temp == "TRUE" ? "YES" : temp == "FALSE" ? "NO" : e;
});
sheet.appendRow(values);
比如當你需要使用TextFinder的時候,下面的修改怎么樣?
從
var t1 = createTextFinder("TRUE").replaceAllWith("YES") var t2 = createTextFinder("FALSE").replaceAllWith("NO") sheet.appendRow([id,name]).t1.t2;到
sheet.appendRow([id, name]); sheet.createTextFinder("TRUE").replaceAllWith("YES"); sheet.createTextFinder("FALSE").replaceAllWith("NO");或者,當您想使用 TextFinder 到附加行時,您也可以修改以下腳本。
sheet.appendRow([id, name]); // SpreadsheetApp.flush(); // This might be not required to be used. const range = sheet.getRange(sheet.getLastRow(), 1, 1, 2); range.createTextFinder("TRUE").replaceAllWith("YES"); range.createTextFinder("FALSE").replaceAllWith("NO");
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/360232.html
