如何为Google Sheet添加「发送」按钮:复制表格URL并发送至指定邮箱
嘿,这个需求很实用——给Google Sheet模板加个一键提交按钮,让用户填完内容直接把链接发给会计部对吧?我帮你捋清楚具体怎么做,用Google Apps Script就能轻松实现:
具体实现步骤
1. 打开模板的脚本编辑器
打开你创建好的Google Sheet模板,点击顶部菜单栏的「扩展程序」→「Apps Script」,这会跳转到Google的脚本编辑器页面,默认会打开一个叫Code.gs的文件。
2. 编写提交功能的核心脚本
把Code.gs里默认的代码删掉,替换成下面这段脚本,记得把目标邮箱地址改成你们会计部的实际邮箱:
function submitToAccounting() { // 获取当前Sheet文档的URL const currentSheetUrl = SpreadsheetApp.getActiveSpreadsheet().getUrl(); // 会计部的接收邮箱,替换成实际地址 const accountingEmail = 'accounting@yourcompany.com'; // 邮件的主题和内容 const emailSubject = '新提交的Sheet文档'; const emailBody = `您好,这是一份新提交的Sheet文档,请查收:\n\n${currentSheetUrl}`; try { // 发送邮件 MailApp.sendEmail(accountingEmail, emailSubject, emailBody); // 给用户弹出成功提示 SpreadsheetApp.getUi().alert('已成功提交至会计部!'); } catch (error) { // 如果出错,提示用户错误信息 SpreadsheetApp.getUi().alert(`提交失败,请稍后重试:${error.message}`); } }
这段脚本的逻辑很简单:获取当前Sheet的链接,发送到指定邮箱,同时给用户弹出清晰的成功/失败提示,体验很友好。
3. 添加「提交至会计部」按钮
回到Google Sheet模板页面,按下面的步骤操作:
- 点击顶部菜单栏的「插入」→「绘图」,在绘图工具里画一个矩形(或者你喜欢的按钮样式),添加文字「提交至会计部」,调整字体、颜色后点击「保存并关闭」。
- 把这个绘图按钮拖到Sheet里合适的位置(比如顶部显眼的地方),右键点击按钮,选择「分配脚本」,输入
submitToAccounting(就是我们刚才写的函数名),然后点击「确定」。
4. 测试权限(关键步骤!)
第一次点击按钮的时候,会弹出权限请求窗口,因为脚本需要获取Sheet权限和发送邮件的权限:
- 登录你的Google账号,按照提示操作,当看到「此应用未经验证」的提示时,点击「高级」→「转到[你的脚本名称](不安全)」——不用担心,这是因为我们自己写的脚本没有经过Google的官方验证,完全是安全的。
- 授权完成后,点击按钮测试一下,确认邮件能正常发送,提示框正常弹出就可以了。
额外注意事项
- 当用户从模板新建Sheet后,这个脚本和按钮会自动复制到新文档里,用户第一次点击按钮时也需要完成授权(用他们自己的Google账号),之后就可以正常使用了。
- 如果是企业G Suite/Workspace账号,可以联系管理员设置域内的脚本授权,这样用户就不会看到「未经验证」的提示,体验更顺畅。
内容的提问来源于stack exchange,提问作者Michael Bingham-Hawk
相关产品推荐
相关产品推荐

