0
我幫助維護一個Google電子表格,通過HTML表單添加新數據。getRange/setValues並不總是工作
當涉及添加新數據時,新數據的插入點取決於其中一個表單字段(應用程序接收日期)。
的腳本發現其中在片材中的數據應當被插入並做三兩件事:
- 插入空白行在正確的位置
- 份數上述(所以公式和條件格式的行被複制)
- 從副本替換在單元中的數據與所述值輸入到表單
的問題是小區A〜I的基於值(從表單填充)單元格M到O也是如此,但單元格J,K,L是基於A到I中某些單元格的計算結果。
這意味着我必須對getRange/setValues進行2次調用,有時第二次調用設置單元格M,N,O不起作用。結果是在單元格A到I(以及J,K,L)中使用正確的數據創建了一個新行,但單元格M,N,O保留在上面行中的單元格中。
這裏是相關的代碼。
// Assign object data for cells A to I
var newvalues = [
[ username, applyDate, maritalStatus, sponsorApprovalDate, processingOffice, inProcessDate, extraDocsRequestedDate, nonVisaExempt, decisionMadeDate ]
];
// Set cells A to I with data from form
sheet.getRange('A' + startingRowIndex + ':I' + startingRowIndex).setValues(newvalues);
// Now assign object data for cells M to O
newvalues = [
[ coprReceivedDate, location, notes ]
];
// Set cells M to O with data from form
sheet.getRange('M' + startingRowIndex + ':O' + startingRowIndex).setValues(newvalues);
如上所述,第二個sheet.getRange('...').SetValues()調用無法設置值。
任何想法?
發生的頻率?如果這種情況很少,那麼腳本無法完全執行(因爲表中沒有交易),這是正常行爲。 –
現在正在發生100%的時間 – andrewb
作出一個最小的樣本,重現這一點。我們不知道你的代碼或數據還有什麼。 –