我的腳本中有一個函數,用於修剪電子表格列中的數據。這在手動調用時可以很好地工作,但在通過定時觸發器運行時總是失敗。在我看來,就像一個錯誤,但我想我應該先問這裏,因爲可能有一些我錯過了。這是我的代碼。當通過觸發器運行時,SpreadsheetApp getRange失敗
function trimColumnValues(columnIndex) {
try {
columnIndex = columnIndex || 2;
var config = PropertiesService.getScriptProperties()
.getProperties();
var firstDataRow = parseInt(config.FIRST_DATA_ROW);
var sheet = SpreadsheetApp.openById('valid_spreadsheet_id')
.getSheetByName(config.MAIN_SHEET_NAME);
var lastRow = sheet.getLastRow();
var noColumns = lastRow - firstDataRow;
var range = sheet.getRange(firstDataRow + 1, columnIndex, noColumns);
var data = range.getValues();
for (var i in data) {
data[i][0] = data[i][0].toString().replace(/^\s+|\s+$/g,"");
}
range.setValues(data);
} catch(e) {
MailApp.sendEmail("[email protected]", "Error in script",
"Error: " + e.message + ". Line: " + e.lineNumber);
}
}
我收到我的電子郵件中的錯誤是:
Error: Cannot convert [object Object] to (class).. Line: 28
第28行:var range = sheet.getRange(firstDataRow + 1, columnIndex, noColumns);
無關,但從來沒有對數組(谷歌它)爲(var我在數據) –
感謝您的評論。我現在更清楚了。 – jad