我有以下腳本,當運行結束時,我想將該電子表格的副本製作成名稱+日期的特定文件夾,例如:我該如何使用Google Script在Google Drive中將電子表格複製到特定文件夾中
我有一個名爲「Audit」的電子表格,當一些特定的腳本運行到最後時,我想爲電子表格創建一個拷貝到根文件夾/ Audit/Historic到谷歌驅動程序或谷歌文檔中。
注意:根目錄是谷歌驅動程序或谷歌文檔頂部文件夾。
腳本:
function ShellCopyValues(){
var sheets = ['sheet1','sheet2','sheet3','sheet4','sheet4'];
for (var s in sheets){
CopyRows(sheets[s]);
}
}
function CopyRows(uname) {
var source = SpreadsheetApp.openById('XXXXXX');
var sourcesheet = source.getSheetByName(uname);
var target = SpreadsheetApp.openById('YYYYYY');
var targetsheet = target.getSheetByName(uname);
var targetrange = targetsheet.getRange(2, 1, sourcesheet.getLastRow(), sourcesheet.getLastColumn());
var rangeValues = sourcesheet.getRange(2, 1, sourcesheet.getLastRow(), sourcesheet.getLastColumn()).getValues();
targetrange.setValues(rangeValues);
}
在這個劇本我想打一個副本的結束。
我會很感激,如果有人有任何想法我怎麼能做到這一點。
編輯:2013年8月7日(固定)
- 腳本將與此格式(文件名+日期)
該腳本將文件保存到一個文件夾的副本。 (不會出現在根 「我的司機」)
//This part make a copy of the spreadsheet var SSID = 'XXXXXX' var CopyDate = Utilities.formatDate(new Date(), "GMT-3", "ddMMyyyyHHmm"); // Function Date + Format var folder = DocsList.getFolder('Historic'); //Use this line if you want to get the folder by name //--> var folder = DocsList.getFileById('YYYYY'); //Use this line if you want to get the folder by ID var backup = DocsList.getFileById(SSID).makeCopy(SpreadsheetApp.openById(SSID).getName() + "_" + CopyDate); backup.addToFolder(folder); //This line will be move the folder backup.removeFromFolder(DocsList.getRootFolder()); //This line is needed to remove the Filde from the Root
事實上,打開電子表格應只發生在該方法ShellCopyValues(一次),並通過所選擇的片材(「Sheet 1中」,「Sheet 2中」,「表Sheet 3」 ...)作爲CopyRows(源表格,目標表格)方法的參數。 – wchiquito