带有“已分配脚本”的Google工作表按钮消失

时间:2017-04-09 23:11:25

标签: google-apps-script google-sheets

我有一个电子表格,其中有几个脚本附加到图像上,作为很多人使用的按钮。奇怪的是,每个工作簿中都有一组三个按钮,其中一个(每次都是相同的)总是“丢失”指定的脚本,然后再次成为一个图像。

我一直无法弄清楚是什么原因导致脚本从图像中“脱离”。我不能在这里分享具体的表格,因为它有敏感信息,但如果它有用,我可以嘲笑类似的表格。大多数人想知道是否有人知道是什么导致脚本与按钮分离。我唯一的理论是脚本触发器可能会导致它,所以我只是关闭了触发器,我们将在接下来的几天看到它是如何发生的。

感谢并为模糊的问题道歉!

function tabs() {
  var s = SpreadsheetApp.getActive(),
      t = s.getSheetByName('Tabs'),
      n = s.getSheets()
      .map(function(s, i) {
        return [s.getName()]
      });
  t.getRange('A1:A').clear();
  t.getRange(1, 1, n.length, 1).setValues(n)
}

1 个答案:

答案 0 :(得分:-1)

我正面临着同样的问题。因此,我添加了如下所示的OnOpen(e)事件,其中包含带有所需Menu的插件。这样就解决了问题。

function onOpen(e) {    
    var menu = SpreadsheetApp.getUi().createAddonMenu(); // Or DocumentApp.
    if (e && e.authMode == ScriptApp.AuthMode.NONE) {
        // Add a normal menu item (works in all authorization modes).
        menu.addItem('Update Master List', 'Prepare_Lists_Data');
    } else {
        // Add a menu item based on properties (doesn't work in AuthMode.NONE).
        var properties = PropertiesService.getDocumentProperties();
        var workflowStarted = properties.getProperty('workflowStarted');
        if (workflowStarted) {
        menu.addItem('Update Master List', 'Prepare_Lists_Data');
        } else {
        menu.addItem('Update Master List', 'Prepare_Lists_Data');
        }
        menu.addToUi();
    }
}