如何创建电子表格并自动打开它

时间:2013-05-07 11:41:22

标签: google-apps-script google-sheets

我有一个电子表格模型,我想自动将此模型中的工作表复制到新的电子表格(不在同一个电子表格中)。 此新电子表格必须自动打开并保存在我的Google云端硬盘中。我怎么能这样做?

我从这段代码开始,但它不起作用

function CreateReports()
{    

    var ssNew = SpreadsheetApp.create(date);
    var url = ssNew.getUrl()
    var ss = SpreadsheetApp.openByUrl(url);

    Logger.log(ssNew.getUrl());

}

2 个答案:

答案 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;
}