You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Google Apps Script实现谷歌文档打开时自动替换指定文本?

仅用Google Apps Script实现谷歌文档打开时自动替换文本

完全可以仅通过Google Apps Script实现这个需求,不需要依赖Python或Java。以下是具体实现步骤和代码:

操作步骤

  1. 打开目标谷歌文档,点击顶部菜单栏的「扩展程序」→「Apps Script」,进入脚本编辑器。
  2. 删除编辑器中默认的示例代码,替换为以下脚本:
function onOpen(e) {
  // 定义需要替换的旧文本和新文本
  const oldText = "需要替换的旧文本";
  const newText = "替换后的新文本";
  
  const doc = DocumentApp.getActiveDocument();
  const body = doc.getBody();
  
  // 查找所有匹配的文本并替换
  let match = body.findText(oldText);
  while (match) {
    const element = match.getElement().asText();
    element.replaceText(oldText, newText);
    match = body.findText(oldText, match);
  }
}

代码说明

  • onOpen(e) 是Google Apps Script的内置触发函数,文档被打开时会自动执行此函数。
  • 修改oldText和newText的值为你实际需要替换的文本内容即可。
  • 脚本会遍历文档正文里所有匹配oldText的内容,逐一替换为newText。

测试方法

  1. 点击脚本编辑器顶部的「保存」按钮,给脚本项目起一个名称(比如「文档自动替换工具」)。
  2. 关闭脚本编辑器,刷新谷歌文档,此时所有匹配的旧文本会自动替换为新文本。

如果需要批量替换多组文本,可以改用以下脚本:

function onOpen(e) {
  // 批量替换的文本对集合
  const replacePairs = [
    { old: "旧文本1", new: "新文本1" },
    { old: "旧文本2", new: "新文本2" },
    { old: "旧文本3", new: "新文本3" }
  ];
  
  const doc = DocumentApp.getActiveDocument();
  const body = doc.getBody();
  
  replacePairs.forEach(pair => {
    let match = body.findText(pair.old);
    while (match) {
      const element = match.getElement().asText();
      element.replaceText(pair.old, pair.new);
      match = body.findText(pair.old, match);
    }
  });
}

内容的提问来源于stack exchange,提问作者Chi Resha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 13:01:17