EP01. “Apps Script 新手入门与实战范例”
🔒 登录后可标记已读- Google Apps Script(GAS)是内建在 Google Workspace 里的云端脚本语言,能自动化 Sheets、Docs、Forms 这类应用里的重复性工作
- 讲 GAS 是什么、为什么值得用、以及 AI 工具怎么帮不太会写代码的人也能写出脚本
- 用一个完整的实战范例——把 Google Sheets 转成 PDF 并自动寄邮件——示范从写代码到授权执行的完整流程
- 不需要前置的编程知识,跟着步骤照做就能上手
重点内容
什么是 Google Apps Script
Google Apps Script 是给 Google Workspace 平台做轻量应用开发用的云端脚本语言。简单说,它能延伸和操控 Google Workspace 里的应用(比如 Sheets、Docs、Forms),让这些应用自动执行任务——可以把它想成串起并强化 Google 各个工具功能的一座桥。
为什么值得用 GAS:
- 自动化重复性任务:自动发邮件、管理数据、生成文件这类每天都要做的事
- 提升生产力:把时间从琐碎任务里解放出来,专注在更重要的事情上
- 省钱:Google Workspace 里免费内建的工具,各种规模的团队都能用
- 整合方便:跟其他 Google Workspace 应用无缝整合,强化它们原有的功能
AI 工具在 Apps Script 里能帮上什么忙
生成式 AI 工具设计来协助写代码,让不太会编程的人也更容易开发脚本——能提供代码建议、根据你的需求生成脚本、甚至帮忙除错。善用这类 AI 工具,不需要深厚的编程底子也能写出实用的脚本。
实战范例:把 Google Sheets 转成 PDF 并自动寄邮件
这个脚本简化了「把 Google Sheets 转成 PDF 并寄邮件」的流程——会在 Google Sheets 里加一个自定义菜单,不用每次都开脚本编辑器就能直接执行。特别适合经常需要把 Sheets 数据分享成 PDF 文件的场景。
功能特点:
- 自定义菜单:在 Google Sheets 上加一个「PDF Utilities」菜单,方便随时使用
- 邮箱输入提示:提示使用者输入要接收 PDF 的邮箱地址
- 格式验证:检查输入的邮箱地址格式是否正确
- PDF 转换:把当前的 Google Sheets 文件转成 PDF
- 自动寄送:把生成的 PDF 当附件自动寄到指定邮箱
- 友善提示:全程有确认讯息引导使用者
脚本怎么运作:
onOpen函数:Google Sheets 文件打开时自动执行,在菜单栏加一个「PDF Utilities」自定义菜单convertSheetToPDFAndEmail函数:主要的转换和寄送逻辑,负责提示输入邮箱 → 验证格式 → 把当前工作表转成 PDF → 寄到指定邮箱 → 显示确认讯息validateEmail函数:辅助函数,检查邮箱地址格式是否正确
操作步骤:
- 打开 Google Sheets:进 Google Drive → New → Google Sheets,新建或打开一份现有的表格
- 打开脚本编辑器:在 Google Sheets 里点菜单 Extensions → Apps Script,会在新分页打开 Apps Script 编辑器
[截图:Apps Script 编辑器界面,显示空白代码区和左侧项目文件列表]
- 新建项目:在编辑器里删掉原有的代码,贴上以下脚本:
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('PDF Utilities')
.addItem('Convert to PDF and Email', 'convertSheetToPDFAndEmail')
.addToUi();
}
function convertSheetToPDFAndEmail() {
// 提示使用者输入邮箱地址
var email = Browser.inputBox('Enter the email address to send the PDF to:');
// 检查邮箱是否有效
if (!email || !validateEmail(email)) {
Browser.msgBox('Invalid email address. Please try again.');
return;
}
// 取得当前的 spreadsheet
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
// 把工作表转成 PDF
var pdf = DriveApp.getFileById(spreadsheet.getId()).getAs('application/pdf');
// 把 PDF 寄出去
var subject = 'Your requested PDF';
var body = 'Please find the attached PDF of the Google Sheets document.';
MailApp.sendEmail(email, subject, body, {attachments: [pdf]});
Browser.msgBox('PDF sent to ' + email);
}
function validateEmail(email) {
var re = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
return re.test(email);
}
- 命名并保存项目:给项目取一个相关的名字(例如「Convert Sheet to PDF and Email」),点软盘图标保存
- 刷新 Google Sheets 文件:关掉 Apps Script 编辑器分页,刷新 Google Sheets 分页——这会触发
onOpen函数加上自定义菜单 - 从自定义菜单执行脚本:Google Sheets 菜单栏会出现「PDF Utilities」,点开选「Convert to PDF and Email」——第一次执行会提示要先授权访问你的 Google 账号
[截图:Google Sheets 菜单栏新增的「PDF Utilities」下拉菜单,含「Convert to PDF and Email」选项]
- 授权脚本:Google 会跳出授权对话框,点 "Continue" 选择你的 Google 账号,再点 "Allow" 授权脚本访问 Google Sheets 并代表你发送邮件
[截图:Google 账号授权对话框,显示脚本请求的权限范围和 Allow/Continue 按钮]
- 输入邮箱地址:授权完成后,再点一次「PDF Utilities」→「Convert to PDF and Email」,会跳出输入邮箱地址的提示框,输入邮箱后点 "OK"
- 确认结果:邮箱地址有效的话,脚本会把当前工作表转成 PDF 并寄到指定邮箱,同时显示 PDF 已寄出的确认讯息;收件人应该会在邮箱里收到这份 PDF
[截图:脚本执行完成后弹出的 "PDF sent to..." 确认讯息框]
适用版本
Google Apps Script 内建在 Google Workspace 里,跟着官方界面走即可,写法适用于目前(2026 年)的 Apps Script 编辑器。
常见错误
- ❌ 用了没有权限访问该 Google Sheets 文件的账号登录——务必确认用的是有权限访问该文件、且能正常收发邮件的 Gmail 账号
- ❌ 以为脚本每次执行都要重新授权——授权是一次性流程,第一次同意之后之后执行就不会再跳出授权对话框
- ❌ 贴代码时把原有代码留着没清空——新建项目时要先把编辑器里原有的代码删掉,再贴上新脚本,避免冲突报错
- 💡 不熟悉怎么写 GAS 代码没关系,可以直接请 AI 工具(比如 ChatGPT 或 Claude)根据需求帮忙生成或调整脚本,不需要很深的编程底子
Sources
Blog / Website:
- Beginner's Guide to Google Apps Script — https://twenty-four.io/blog/beginners-guide-to-google-apps-script/