我需要 Google Apps 腳本來執行以下操作:
- 克隆 Google 表格檔案
- 在克隆的檔案中,將單元格 A1 的值更新為當前日期和時間(作為值,而不是公式)
- 將克隆檔案重命名為當前日期,格式為“YYYY-MM-DD”
經過數小時的閱讀和測驗后,我正在努力通過第 2 節 - 請幫助(并讓我知道我哪里出錯了!)
function cloneGoogleSheet() {
//1. clone file
const destFolder = DriveApp.getFolderById("107TOUuO6fABxYohvueivNGeZqJMNkfgX"); //set destination folder in drive
DriveApp.getFileById("16S3INZFMQDY3yguNZ2QHvzMQXI1Kf97DkSvcYyZeiHM").makeCopy("New File", destFolder); // clone source file into destination folder with name "New File"
//2. set cell A1 on tab 1 to current date & time
var sheet = SpreadsheetApp.open("New File").getSheets()[0] //open "New File"
var range = sheet.getRange("A1"); // "set range in new file"
range.setValue(now); // set the value in cell A1 to be current date & time (as text, not formula)
//3. rename file so it files in year-month-date order
var formattedDateForFileName = Utilities.formatDate(now(),"GMT 10","yyyy-mm-dd") //format date into YYYY-MM-DD (for filename)
sheet.setName("Dashboard Archive - "& formattedDateForFileName) //rename file
}
uj5u.com熱心網友回復:
除了魯本所說的之外,我認為獲取新檔案有點冒險,SpreadsheetApp.open("New File")因為出于多種原因,您的云端硬碟中可能有多個具有該名稱的電子表格。
我寧愿做
let copy = DriveApp.getFileById("16S3INZFMQDY3yguNZ2QHvzMQXI1Kf97DkSvcYyZeiHM").makeCopy("New File", destFolder); // clone source file into destination folder with name "New File"
//2. set cell A1 on tab 1 to current date & time
let sheet = SpreadsheetApp.openById(copy.getId()).getSheets()[0] //open "New File"
這樣,您就可以 100% 確定您正在打開剛剛制作的副本
uj5u.com熱心網友回復:
該功能不包括now.
您可以按如下方式添加
const now = new Date();
只需將上面的行放在前面range.setValue(now);。
也可以按照之前的建議進行更改now(),并且按照 Google Apps Script/JavaScript 中的 concatentio 運算子是,而不是。now& &
您可能會嘗試在 Google Apps Script 中使用您對 Google Sheets 函式和運算子的了解,但 Google Sheets 函式和運算子與 Google Apps Script / JavaScript 中使用的不同。
資源
- https://developers.googe.com/apps-script/guides/sheets
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/524232.html
上一篇:如何使用每個回圈設定資料驗證
