Google Workspace 自动化
High Contrast
Dark Mode
Light Mode
Sepia
Forest
1 min read173 words

Google Workspace 自动化

Apps Script 是 Google 生态里的"万能胶水"——免费、强大、触手可及。

Google 自动化全景

graph TD GAS[Apps Script] --> SHEETS[Google Sheets] GAS --> DOCS[Google Docs] GAS --> FORMS[Google Forms] GAS --> GMAIL[Gmail] GAS --> CALENDAR[Google Calendar] GAS --> DRIVE[Google Drive] GAS --> TRIGGER[触发器] TRIGGER --> TIME[定时触发] TRIGGER --> FORM_SUBMIT[表单提交] TRIGGER --> EDIT[表格编辑] style GAS fill:#e3f2fd,stroke:#1565c0,stroke-width:2px

Apps Script 常用脚本

"""
Google Apps Script 模板 (JavaScript 语法)
用 Python 模拟展示逻辑
"""
from dataclasses import dataclass
@dataclass
class AppsScriptTemplate:
name: str
trigger: str
code_description: str
use_case: str
SCRIPTS = [
AppsScriptTemplate(
"自动发送邮件报表",
"每日定时触发",
"""
// Google Apps Script
function sendDailyReport() {
var sheet = SpreadsheetApp.getActive().getSheetByName('日报');
var data = sheet.getDataRange().getValues();
var html = '<table border="1">';
data.forEach(function(row) {
html += '<tr>' + row.map(function(cell) {
return '<td>' + cell + '</td>';
}).join('') + '</tr>';
});
html += '</table>';
GmailApp.sendEmail(
'team@company.com',
'每日销售报表 - ' + new Date().toLocaleDateString(),
'',
{htmlBody: html}
);
}
""",
"每日自动发送 Sheets 数据邮件给团队",
),
AppsScriptTemplate(
"表单提交自动处理",
"onFormSubmit",
"""
// 表单提交触发
function onFormSubmit(e) {
var responses = e.values;
var name = responses[1];
var email = responses[2];
var type = responses[3];
// 创建审批任务
var calendar = CalendarApp.getDefaultCalendar();
calendar.createEvent('审批: ' + name,
new Date(), new Date(Date.now() + 3600000));
// 发送确认邮件
GmailApp.sendEmail(email,
'申请已收到',
'您的 ' + type + ' 申请已提交,请等待审批。');
}
""",
"表单提交后自动创建日历事件和发送确认邮件",
),
]
print("=== Apps Script 模板 ===")
for s in SCRIPTS:
print(f"\n{s.name} (触发: {s.trigger})")
print(f"  用途: {s.use_case}")
print(f"  代码:{s.code_description}")

Google Sheets 自动化技巧

"""
Google Sheets 高级功能
"""
SHEETS_FORMULAS = {
"跨表查询": "=IMPORTRANGE('spreadsheet_url','Sheet1!A:D')",
"API 数据导入": "=IMPORTDATA('https://api.example.com/data.csv')",
"网页抓取": '=IMPORTXML("url","//div[@class=\\"price\\"]")',
"翻译": '=GOOGLETRANSLATE(A2,"en","zh")',
"智能填充": "=ARRAYFORMULA(IF(A2:A<>\"\",B2:B*C2:C,\"\"))",
"条件计数": '=QUERY(A:D,"SELECT B, SUM(D) GROUP BY B")',
"唯一值": "=UNIQUE(A2:A)",
"过滤": '=FILTER(A2:D,C2:C>100,D2:D="已完成")',
}
print("=== Sheets 高级公式 ===")
for name, formula in SHEETS_FORMULAS.items():
print(f"  {name}: {formula}")
# 自动化场景
SHEETS_AUTOMATION = {
"库存管理": {
"功能": "实时库存看板",
"实现": "QUERY + 条件格式 + Apps Script 邮件提醒",
},
"客户 CRM": {
"功能": "客户跟进管理",
"实现": "Forms 收集 → Sheets 存储 → 定时提醒",
},
"项目管理": {
"功能": "甘特图 + 进度追踪",
"实现": "日期公式 + 条件格式 + 自动状态更新",
},
"财务报表": {
"功能": "自动汇总多表数据",
"实现": "IMPORTRANGE + QUERY + 定时邮件产出",
},
}
print("\n=== Sheets 自动化场景 ===")
for name, info in SHEETS_AUTOMATION.items():
print(f"\n{name}:")
for k, v in info.items():
print(f"  {k}: {v}")

Google vs Microsoft 自动化对比

维度 Google Workspace Microsoft 365
脚本语言 JavaScript (Apps Script) TypeScript (Office Script) / C#
免费度 Apps Script 完全免费 Power Automate 需额外付费
生态 偏轻量、互联网 偏企业、全功能
协作 原生实时协作 近年追上
离线 有限 完整桌面客户端
最佳场景 小团队、创业公司 大企业、合规要求高

下一章:文档智能处理——用 AI 让文档自己"说话"。