I recently asked a question about how to add items to a Google Form from a Google Spreadsheet。它效果很好。儘管如此,我不必使用FormApp.create()
,因爲ID必須保持不變。問題是,如果我再次運行我的腳本,它會打開現有的窗體(很棒),然後將更多的項目追加到現有窗體。如何從FormApp對象中刪除所有項目?
這種行爲使得理想,但不是我想要的。所以我想我會刪除所有現有的項目,然後再從我的電子表格中添加新的項目。我諮詢the Google dev site for Form Services,覺得我應該有所有的作品。不過,我不能把它們放在一起。
我現在這樣做如下:
var form = FormApp.openByUrl('https://docs.google.com/forms/d/.../edit');
var items = form.getItems();
for (var i in items) {
form.deleteItem(i);
}
然而,這會給我一個超出範圍的錯誤。有人能指引我朝着正確的方向嗎?
這仍然給我錯誤,例如'不能訪問索引處的項目:18.項目數量:18.'索引似乎出錯了。 – Florian
剛剛遇到同樣的問題。隨着項目被刪除,索引正在改變。我的解決方案是使用'form.deleteItem(0)',它只是一遍又一遍地刪除第一個對象,直到它們全部消失(只需編輯@ teatimer的答案來反映這一點)。 –