繼續上一個問題
此代碼將電子表格 A Sheet1 中的最后編輯資料重新編碼到相同的電子表格 A Sheet2中,但我希望將該資料(電子表格 A Sheet1)添加到另一個電子表格 B Sheet2
我無法配置如何修改代碼,因為它看起來有點復雜。
你能幫我修改這段代碼嗎?
function onEdit(e) {
const range = e.range;
const sheet = range.getSheet();
if (sheet.getSheetName() != "Sheet1" || range.rowStart == 1) return;
const col = range.columnStart - 1;
const [header, ...values] = sheet.getDataRange().getDisplayValues();
const value = values[range.rowStart - 2];
const v = [[`${value[0]} - ${value[1]}`, `${header[col]} - ${value[col]}`]];
e.source.getSheetByName("Sheet2").getRange("A2:B2").setValues(v);
}
uj5u.com熱心網友回復:
在您的情況下,如何進行以下修改?
從:
e.source.getSheetByName("Sheet2").getRange("A2:B2").setValues(v);
到:
SpreadsheetApp.openById("###SpreadsheetID of SpreadsheetB###").getSheetByName("Sheet2").getRange("A2:B2").setValues(v);
另外,請將函式名重命名onEdit為installedOnEdit. 并且,請將 OnEdit 觸發器安裝到重命名的函式中作為可安裝觸發器。因為openById不能與簡單觸發器一起使用。我認為這可能是您的問題的原因it keeps giving error message。
使用此腳本時,請編輯單元格。這樣,腳本就運行了。
筆記:
- 當您安裝 OnEdit 觸發器以
onEdit在編輯單元格時運行時,簡單觸發器和可安裝觸發器都以異步程序運行。Ref所以我建議重命名函式名。請注意這一點。
參考:
- 可安裝觸發器
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/430722.html
上一篇:查找字串的開頭和結尾
