在Google Spreedsheet中显示对所有用户可见的警报对话框/弹出窗口

时间:2019-06-14 16:26:25

标签: google-apps-script google-sheets

我有一个Google电子表格,该电子表格是由多个人(8-10人)同时使用“具有链接的任何人都可以编辑”权限进行编辑的。我是该文件的所有者和维护者,有时我想显示一个警告对话框,其中包含一条消息,通知文件中的所有活动用户。为此,我使用以下代码:

function onOpen() {
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .createMenu('Custom Menu')
      .addItem('Show alert', 'showAlert')
      .addToUi();
}

function showAlert() {
  var ui = SpreadsheetApp.getUi(); // Same variations.

  var result = ui.alert(
     'ATTENTION!',
     'MY ATTENTION MESSAGE...BLA...BLA...BLA.',
      ui.ButtonSet.OK);

}

一切正常,警报对话框正常显示,但是.....仅对我可见。电子表格中没有活动的用户看到它。

我尝试了几种不成功的代码替代方法,并且还因为我在某些网站上看到只有具有“编辑”角色的人才能看到这些对话框,所以我尝试使用此代码将电子表格的用户添加为编辑者:

 Drive.Permissions.insert(
   {
     'role': 'editor',
     'type': 'user',
     'value': 'usermail@examplemail.com'
   },
   fileId,
   {
     'sendNotificationEmails': 'false'
   });

再次...没有运气!!!

我在这里做错了什么?如何进行这项工作并能够向电子表格中的所有类型/角色的用户发送警报对话框?

2 个答案:

答案 0 :(得分:1)

Google表格/ Google Apps脚本不具有向所有查看电子表格的用户显示警报/对话框的功能,也无法将表格(标签)作为所有查看电子表格的用户的活动标签。

您可以通过电子邮件,Google Hangouts,Google Hangouts聊天或其他类似的应用向他们发送警报。

答案 1 :(得分:-1)

您不需要菜单,只需一个ui。

我有一张类似的纸,并使用此代码。

function onOpen() {
    var SS = SpreadsheetApp.getActiveSpreadsheet();
    var ui = SpreadsheetApp.getUi();

   ui.alert("Greetings! Message here.\n Thanks."); 


}