我有一个内部邮件列表,我想订阅新员工并取消订阅已离开的员工。我用一个带有复选框的谷歌表格来做这件事。主要是因为这张表已经在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之间的通信