0

我想創建一個腳本,觸發器可以每週運行一次以備份Drive中的表格,並在文件名中添加它運行的日期。編寫文件的可觸發每週備份

我已經知道如何做到這一點當紙張在這樣的帖子開放: Google Spreadsheet, script, backup file, subfolder,但我不希望有資料開...我只是希望它做它自己的。

我沒有使用DocsList,而是使用較新的DriveApp類,並得到一個錯誤「TypeError:無法在對象FileIterator中找到函數makeCopy」。當我運行這段代碼並不能弄清楚如何調用該方法:

DriveApp.getFilesByName("WarehousePrototype") 
.makeCopy("WarehousePrototype" + Date() + " backup"); 
+0

哎呦..我是使用錯誤的方法 - 這個在運行時會起作用...我會嘗試一個可安裝的觸發器並在明天確認。 (DriveApp.getFileById(「Id here」)+ Date()+「backup」);'DriveApp.getFileById(「Id here」) ''DriveApp.getFileById – markSS

回答

0

由於多文件的方法getFilesByName顯示的名稱,它不只是一個返回文件:它返回一個文件迭代器。原因是文件名在Drive中不唯一:您可能有多個名爲「WarehousePrototype」的文件。

一般來說,我們運行一個while循環,並使用hasNext並在其中調用next。但是,如果你確信恰好有一個文件叫這個名字,你可以叫next

DriveApp.getFilesByName("WarehousePrototype").next().makeCopy("WarehousePrototype" + Date() + " backup"); 

但是憑身份證獲取文件更容易,更可靠:

DriveApp.getFileById(file_id).makeCopy("WarehousePrototype" + Date() + " backup");