2

我正在运行我在 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");
}
4

1 回答 1

0

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

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

如果问题仍然存在,请SpreadsheetApp.flush();hideSheet().

于 2018-08-06T15:46:54.653 回答