GOOGLE

EP01. “Apps Script 新手入门与实战范例”

首页 Google 工具 Apps Script · EP01
约 11 分钟· #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 函数:辅助函数,检查邮箱地址格式是否正确

操作步骤:

  1. 打开 Google Sheets:进 Google Drive → New → Google Sheets,新建或打开一份现有的表格
  2. 打开脚本编辑器:在 Google Sheets 里点菜单 Extensions → Apps Script,会在新分页打开 Apps Script 编辑器

[截图:Apps Script 编辑器界面,显示空白代码区和左侧项目文件列表]

  1. 新建项目:在编辑器里删掉原有的代码,贴上以下脚本:
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);
}
  1. 命名并保存项目:给项目取一个相关的名字(例如「Convert Sheet to PDF and Email」),点软盘图标保存
  2. 刷新 Google Sheets 文件:关掉 Apps Script 编辑器分页,刷新 Google Sheets 分页——这会触发 onOpen 函数加上自定义菜单
  3. 从自定义菜单执行脚本:Google Sheets 菜单栏会出现「PDF Utilities」,点开选「Convert to PDF and Email」——第一次执行会提示要先授权访问你的 Google 账号

[截图:Google Sheets 菜单栏新增的「PDF Utilities」下拉菜单,含「Convert to PDF and Email」选项]

  1. 授权脚本:Google 会跳出授权对话框,点 "Continue" 选择你的 Google 账号,再点 "Allow" 授权脚本访问 Google Sheets 并代表你发送邮件

[截图:Google 账号授权对话框,显示脚本请求的权限范围和 Allow/Continue 按钮]

  1. 输入邮箱地址:授权完成后,再点一次「PDF Utilities」→「Convert to PDF and Email」,会跳出输入邮箱地址的提示框,输入邮箱后点 "OK"
  2. 确认结果:邮箱地址有效的话,脚本会把当前工作表转成 PDF 并寄到指定邮箱,同时显示 PDF 已寄出的确认讯息;收件人应该会在邮箱里收到这份 PDF

[截图:脚本执行完成后弹出的 "PDF sent to..." 确认讯息框]


适用版本

Google Apps Script 内建在 Google Workspace 里,跟着官方界面走即可,写法适用于目前(2026 年)的 Apps Script 编辑器。

常见错误

  • ❌ 用了没有权限访问该 Google Sheets 文件的账号登录——务必确认用的是有权限访问该文件、且能正常收发邮件的 Gmail 账号
  • ❌ 以为脚本每次执行都要重新授权——授权是一次性流程,第一次同意之后之后执行就不会再跳出授权对话框
  • ❌ 贴代码时把原有代码留着没清空——新建项目时要先把编辑器里原有的代码删掉,再贴上新脚本,避免冲突报错
  • 💡 不熟悉怎么写 GAS 代码没关系,可以直接请 AI 工具(比如 ChatGPT 或 Claude)根据需求帮忙生成或调整脚本,不需要很深的编程底子

Sources

Blog / Website:

  1. Beginner's Guide to Google Apps Script — https://twenty-four.io/blog/beginners-guide-to-google-apps-script/