创建一个带有自定义按钮和链接的对话框



我有一个内部邮件列表,我想订阅新员工并取消订阅已离开的员工。我用一个带有复选框的谷歌表格来做这件事。主要是因为这张表已经在HR流程中使用过了,所以很容易记住。

当复选框被选中时,我想要一个对话框弹出一个按钮,说订阅和退订。这些按钮链接到电子邮件工具内的位置,允许人们订阅或取消订阅。

我现在的抄写员是

var result = ui.alert
(
'What would you like to do?',
'Subscribe a new Employee or' + "n" + 'Unsubcribe an employee thats left',
ui.ButtonSet.Subscribe_Unsubscribe
);
if (result == ui.Button.Subscribe) 
{

}else
{
ui.alert('Employee has been removed from the internal mailing list');
}
}

我不知道如何通过改变按钮集名称的工作方式,我不知道如何分配一个链接到按钮。

期待您的回复!!

第一步:

首先,您需要创建一个可安装的触发器,以便在编辑单元格时在GAS中执行一个函数。

你可以在这里找到关于Installable Triggers的解释/参考:

安装触发器

为什么要安装触发器?因为您需要连接到电子邮件服务,这需要授权。

示例代码:

/**
* Creates a trigger for when a spreadsheet is edited.
*/
function createSpreadsheetEditTrigger() {
var ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger('myFunction')
.forSpreadsheet(ss)
.onEdit()
.create();
}

步骤2:

要创建自定义对话框,您需要在GAS中从头创建HTML文件,IDE允许您从菜单中创建HTML文件。

然后在你的脚本中,你需要使用getUi().showModalDialog来显示对话框。

我在Stack Overflow post中有一些示例代码:

注意,HTML需要onclick="google.script.run"onclick="google.script.host.close()"参数来执行Apps Script中的函数。

引用:

showModalDialog ()HTML

模板化

HTML与Apps Script之间的通信

最新更新