首先,在您的驅動器中創建一個名爲MyTargetFolder的文件夾。將您的模板電子表格放入,填入「ID」作爲一個字段的第一行,任何數值作爲第二行的值。
你所需要的所有腳本都低於:
// create a custom menu to add Save feature.
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Feature')
.addItem('Save Spreadsheet', 'saveSpreadSheet')
.addToUi();
}
然後實現保存功能。
function saveSpreadSheet() {
var thisSpreadSheet = SpreadsheetApp.getActive();
/*
What first row and second row look like :
-----
| ID |
-----
| 123 |
-----
*/
var id = thisSpreadSheet.getActiveSheet().getRange(2, 1, 1, 1).getValue();
var folders = DriveApp.getFolders();
var destFolder = '';
while (folders.hasNext()) {
var folder = folders.next();
if (folder.getName() == 'MyTargetFolder') {
destFolder = DriveApp.getFolderById(folder.getId());
}
}
DriveApp.getFileById(thisSpreadSheet.getId()).makeCopy(id, destFolder);
// recover the template
thisSpreadSheet.getActiveSheet().getRange(2, 1, 1, 1).setValue(' ');
SpreadsheetApp
.getUi()
.alert('Check your Drive to make sure file have been saved');
}
所有關於電子表格的Google應用腳本API都有詳細記錄here。
和API約Drive。
你的問題是一般的堆棧溢出。如果您想要了解如何使用Apps Script進行操作的一般建議,請嘗試[Apps Script Group](https://plus.google.com/communities/102471985047225101769) –
如果我的答案與您需要的內容匹配,也許您可以「接受「它。 – Carr