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

如何用Google Apps Script创建跨所有Google Docs的自定义菜单以应用模板

可行实现方案

方案1:部署私有Google Docs编辑器附加组件(全局所有Docs生效)

可以实现你需要的「名下所有Google Docs都显示自定义菜单」的需求,仅对你个人账号生效,无需公开审核:

  • 访问script.google.com新建独立脚本项目(不要从单个Doc的脚本编辑器入口创建)
  • 把现有功能代码粘贴到项目中,注意将触发函数名OnOpen改为全小写onOpen,否则简单触发无法正常运行
  • 配置项目清单:点击左侧「项目设置」,勾选「在编辑器中显示appsscript.json清单文件」,回到编辑器打开appsscript.json,替换为以下配置:
{
  "timeZone": "Asia/Shanghai",
  "dependencies": {},
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",
  "oauthScopes": [
    "https://www.googleapis.com/auth/documents.currentonly",
    "https://www.googleapis.com/auth/script.container.ui"
  ],
  "addOns": {
    "docs": {
      "onOpenTrigger": {
        "runFunction": "onOpen"
      },
      "currentDocumentAccess": "WRITE"
    }
  }
}
  • 部署附加组件:点击右上角「部署」>「新建部署」,选择部署类型为「编辑器附加组件」,支持应用选择Google Docs,访问权限设置为「仅限我自己」,完成部署后任意Google Doc的扩展程序菜单中都会显示你的工具入口,点击即可加载自定义菜单。

方案2:文件夹专属模板方案(适配固定文件夹场景,操作更简单)

如果仅需要存放在固定文件夹的Doc支持该功能,无需全局所有Doc生效,这个方案门槛更低:

  • 新建一个空白Google Doc,将你的脚本绑定到该Doc,测试功能正常运行
  • 将该Doc设置为固定文件夹的默认新建模板:打开目标文件夹,点击「新建」> 点击「Google Docs」右侧的箭头>「从模板新建」,选择你创建好的带脚本的Doc作为该文件夹的默认模板
  • 后续所有在该文件夹内新建的Doc都会自动继承模板内的脚本和自定义菜单,完全匹配你的使用需求。

修正后可直接使用的代码

你原代码中的触发函数名首字母大写不符合规则,修正版如下:

function onOpen(e) {
  DocumentApp.getUi().createMenu('Template Options')
      .addItem('Apply Customer Note Template', 'menuItem1')
      .addToUi()
}

function menuItem1() {
  var body = DocumentApp.getActiveDocument().getBody();

  var OppTitle = body.appendParagraph("Opportunity Name");
  OppTitle.setHeading(DocumentApp.ParagraphHeading.TITLE);
  OppTitle.setAlignment(DocumentApp.HorizontalAlignment.CENTER);

  // 此处保留你原有模板生成的其余逻辑

  DocumentApp.getUi().alert('Customer Template applied.');
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:57:02