使用Google工作表需要在打开主工作表时自动保存或创建新工作表

时间:2015-02-06 23:05:24

标签: google-sheets

这是我第一次使用Google表格,我有一张主表格供人们使用,但我不希望他们有机会改变主人,我不相信他们在使用工作表之前创建副本。

我希望人们开始打开主人,但是在他们打开它之前以及在他们有机会进行任何更改之前更改了名称。

新工作表的名称应该是Master中使用的名称,但会将当前日期添加到其中。

可以将新工作表添加到当前工作簿

如果要创建的工作表稍后打开以修改或查看新工作表,我不希望再次发生这种情况

我对替代品开放

Google sheet api可以使用

请包含所有准备工作的样本的代码或指针示例

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

找到了一些代码,这些代码让我走上了正确的道路,与它一起玩,直到它完成我想要的。唯一的问题是,当您在手机上使用Google Sheet应用程序时,不会执行onOpen代码。



  var ss = SpreadsheetApp.getActiveSpreadsheet();

  /**
   * Duplicate and rename Master spreadsheet invoking the makeCopy() function.
   * The onOpen() function is automatically run when the spreadsheet is opened.
   */
  function onOpen() {

    var entries = [{
      name: "Weekly Cashier Accounting",
      functionName: "duplicateTemplateSheet"
    }];
    ss.addMenu("New sheet", entries);
    var oldSheet = ss.getActiveSheet();
    ss.setActiveSheet(ss.getSheetByName("Master"));
    var formattedDate = Utilities.formatDate(new Date(), "PST", "MM-dd-yyyy");

    if (ss.getSheetByName(formattedDate) == null) {
      Logger.log("Does not exist");
      var newSheet = ss.duplicateActiveSheet();
      newSheet.activate();
      ss.moveActiveSheet(2);
      newSheet.setName(formattedDate);
      ss.setActiveSheet(ss.getSheetByName(formattedDate));
    }
  };




感谢您的帮助