hideSheet()正在执行,但实际上并未隐藏工作表

时间:2018-08-06 14:39:30

标签: google-apps-script google-sheets google-apps-script-addon

我正在运行我在Google Apps脚本中为电子表格插件创建的功能。它所做的一切都正确,但是其他所有执行都不会隐藏工作表。有任何想法吗?

function addEmailNew(formObject) {
  var newEmail = formObject.addEmailText;
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ss.getSheetByName("No Touching!").activate();

  //find the last string value in a column
  var Avals = ss.getRange("J:J").getValues();
  var Alast = Avals.filter(String).length + 1;
  ss.getSheetByName('No Touching!').getRange("J" + Alast).setValue(newEmail);

  //THIS IS THE THING THAT WORKS EVERY OTHER TIME
  SpreadsheetApp.getActiveSheet().hideSheet();

  openDialog();
  return Logger.log("this did stuff");
}

1 个答案:

答案 0 :(得分:0)

可以获取活动工作表,但是在隐藏它之前,请激活另一个工作表。尝试如下操作:

var sheetToHide = SpreadsheetApp.getActiveSheet();
ss.getSheetByName("Other sheet").activate();
sheetToHide.hideSheet();

如果问题仍然存在,请在SpreadsheetApp.flush();之后的新行中添加hideSheet()