我有一个电子表格模型,我想自动将此模型中的工作表复制到新的电子表格(不在同一个电子表格中)。 此新电子表格必须自动打开并保存在我的Google云端硬盘中。我怎么能这样做?
我从这段代码开始,但它不起作用
function CreateReports()
{
var ssNew = SpreadsheetApp.create(date);
var url = ssNew.getUrl()
var ss = SpreadsheetApp.openByUrl(url);
Logger.log(ssNew.getUrl());
}
答案 0 :(得分:2)
如果脚本作为最终用户运行(它从脚本编辑器自动执行),则电子表格的任何创建或复制都将在驱动器中结束,而无需任何其他步骤。
无法自动打开电子表格或任何窗口。创建/复制后,用户必须单击URL。
因此,为了电子表格用户界面,您必须在弹出式窗口中显示getUrl
的网址,或通过电子邮件将其发送给用户,然后他们就可以点击。
答案 1 :(得分:2)
如果您想复制整个电子表格,请参阅Spreadsheet.copy()
文档中的示例。
此脚本将:
function copyModel() {
// Get today's date as a string
var date = (new Date()).toDateString();
// Get our model sheet
var source = SpreadsheetApp.getActiveSpreadsheet();
var model = source.getSheetByName("model");
// Create a new spreadsheet on Drive, named by date
var destination = SpreadsheetApp.create(date);
// Copy and rename the model sheet into new spreadsheet
var newSheet = model.copyTo(destination).setName(date);
return newSheet;
}