我不熟悉Google腳本。我發現了一些應該工作但沒有的東西。我搜索了,但找不到解決方案。無法讓Google腳本正常工作
我發現腳本:
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("My Sheet name");
var statusValues = sheet.getRange("D:D").getValues();
var dateValues = sheet.getRange("E:E").getValues();
for (var row in statusValues) {
if (statusValues[row] != "Yes" && dateValues[row] == "") {
var num = parseInt(row) + 1;
sheet.getRange(num, 17).setValue(new Date());
}
}
};
它應該自動適用於E欄的編輯日期時d細胞說Yes
(在同一行)。當我調試它時,我得到:
TypeError: Cannot call method "getRange" of null. (line 5, file "Code")*
我的D列是一個帶空白/是/無選項的下拉菜單。這可能是爲什麼?此外,它不會顯示在我的雲端硬盤中。我讀到了應該發生的地方。
感謝Harold,但仍然給出同樣的錯誤: –
@ user3413227不要忘記更改工作表的名稱或更改代碼中的引用。這裏是一個演示:https://docs.google.com/spreadsheets/d/1VppbEvBH5X-Qk2bT0DalBGYZ3c7P1CHz9w7K5bwFpzU/edit?usp=sharing – Harold
謝謝@Harold。我無意中混淆了工作表名稱和文檔名稱,所以請帶我一邊......:|我還補充: if(statusValues [row] [0]!=「是」){ var num = parseInt(row)+ 1; sheet.getRange(num,5).setValue(「」); //「5」是日期寫入的列 } 但它也會清除我的標題(第3行)。有沒有辦法將這個清理結果應用到第4-20行? –