google-apps-script - 使用自定义按钮和链接创建对话框
问题描述
所以我有一个内部电子邮件列表,我想为新员工订阅和退订离开的员工。我正在使用带有复选框的谷歌表格来执行此操作。主要是因为这张表已经在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');
}
}
我不确定如何通过更改按钮集名称以这种方式工作,我也不知道如何为按钮分配链接。
期待您的回复!!!
解决方案
步骤1:
首先,您需要创建一个可安装的触发器,该触发器将在编辑单元格时在 GAS 中执行一个函数。
您可以在此处找到有关可安装触发器的说明/参考:
为什么要安装触发器?因为您需要连接到需要授权的电子邮件服务。
示例代码:
/**
* 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 帖子中有一些示例代码:Stack Overflow
请注意,HTML 需要onclick="google.script.run"
和onclick="google.script.host.close()"
参数才能在 Apps 脚本中执行函数。
参考:
推荐阅读
- json - 如何处理 JSON_VALUE 路径中的美元 ($) 符号
- ios - 如何符号化包含我的框架的 iOS 应用程序的日志?
- c++ - 从 boost::asio::ip::tcp::socket 获取 boost::asio::io_context 以执行自定义函数
- python - 使用 AvroConsumer 获取分区和主题中的消息
- etcd - 添加新的 etcd 成员时遇到问题
- python - 获取 JSON 数据的特定值
- angular - Angular:如何更改chartjs的颜色?
- python - Apache 服务器上的 Python 应用程序
- python - 文本字段不适用于 tinymce 小部件
- c# - 无法识别命名空间函数的问题