是否有避免脚本运行时用户执行任何操作的功能?

时间:2019-04-11 04:27:44

标签: google-apps-script google-sheets

我一直在Google表格上开发长期脚本,我想选择其中一个:

  
      
  • 向用户打印一条消息,说“嘿,它正在运行,请稍候”(脚本实际上同时运行)
  •   
  • 冻结电子表格,以便用户在处理脚本时无法对其执行任何操作
  •   
  • 避免用户在运行时执行任何操作的任何其他可能性(编辑:无保护)
  •   

此刻,我使用的是'browser.msgbox'语:“请等待,直到它在绿色面板中写入'脚本已实现'(但与此同时什么也没有发生)。然后用户必须单击“确定”,然后等待并查看该绿色面板(这是法语版的Google工作表,我不确定该面板的确切英文内容,但希望您知道我的意思)。 我的客户想要更多...没有急躁的用户所犯的任何错误,这就是为什么我寻求您的帮助。

我已经和Excel/VBA一起工作了几年,这类似于Application.screenUpdating=falseApplication.Statusbar="Here is the text"...

我一直在寻找Internet上的提示,但找不到任何有用的目的。

感谢您的时间和对这一主题的帮助!

1 个答案:

答案 0 :(得分:0)

尝试一下:

function protectAllSheets() {
  var ss=SpreadsheetApp.getActive();
  var shts=ss.getSheets();
  for(var i=0;i<shts.length;i++) {
    var protection=shts[i].protect();
    protection.addEditor(me);
    protection.removeEditors(protection.getEditors())
  }
}

在此处运行脚本。

function unProtectAllSheets() {
var ss=SpreadsheetApp.getActive();
  var shts=ss.getSheets();
  for(var i=0;i<shts.length;i++) {
    shts[i].getProtections(SpreadsheetApp.ProtectionType.SHEET)[0].remove();
  }
}