无法开启onOpen以触发Google Apps脚本

时间:2014-06-03 15:59:30

标签: google-apps-script

我对脚本编程有些新意,所以非常感谢任何能够提供我的问题洞察力的人。出于某种原因,我无法获取下面的Google脚本来触发onOpen for my Google Apps电子表格。

我的电子表格中的工作表从1月到12月从左到右。该脚本用于标识当前月份编号,然后使用该编号标识并设置打开电子表格时该月份的活动工作表。我从另一个帖子中逐字逐句地接受了它:Google Apps Spreadsheet open specific sheet based on current date (Month)

我只是创建一个新的电子表格,从“工具”下拉菜单中选择“脚本编辑器”,然后粘贴到下面的脚本中并保存。

/**
 * Selects a monthly sheet
 */
function onOpen() {
  var month = (new Date()).getMonth();

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[month];
  ss.setActiveSheet(sheet);
};

尝试将其命名为onOpen,并在重命名后向函数添加onOpen触发器。我可以在打开电子表格时触发其他onOpen事件,但遗憾的是,只有当我从脚本编辑器手动触发它时,这个才有效。

干杯。

1 个答案:

答案 0 :(得分:1)

不幸的是规格发生了变化。 在新电子表格中,与激活相关的方法如果从onOpen或onEdit触发器调用则不再有任何效果。

您可以在下方获得有关更改的更多详细信息。

Google Apps脚本

第3928期:2014年4月22日, 新电子表格:activate()不会将活动工作表更改为onOpen服务功能事件 https://code.google.com/p/google-apps-script-issues/issues/detail?id=3928

发行说明 2014年4月17日, Document方法setSelection Sheet方法激活,如果从onOpen或onEdit触发器调用Spreadsheet方法setActiveRange和setActiveSelection不再有任何效果。 https://developers.google.com/apps-script/releases/#april_2014

bakcy0175