繁体   English   中英

如何将 Google App Script 安装到可用于我自己的文档的 Google 文档中?

[英]How to install Google App Script into Google docs that can be used on my own document?

Google Apps 脚本的界面和文档不是很好,有很多东西,我无法在谷歌搜索中找到任何有用的东西。 我创建了自己的云项目,并且我自己的谷歌脚本项目使用我的权限屏幕和项目将它们连接起来。 我已经创建了有效的代码我已经创建了触发器打开但我不知道下一步该怎么做如何将它添加到我的文档中,所以我实际上可以在文档上使用我的脚本而不是编辑器。

我需要创建一个脚本,供在我的组织中打开我的文档的每个人使用。

我的代码如下所示:

function toggleBorders() {
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  var tables = body.getTables();
  var black = '#000000';
  var white = '#ffffff';
  tables.forEach(function(table) {
    var color = table.getBorderColor();
    table.setBorderColor(color == black ? white : black);
  })
}

function onOpen() {
  var ui = DocumentApp.getUi();
  var menu = ui.createMenu('JJ Scripts').addItem('Toogle Borders', 'toggleBorders');
  menu.addToUi();
}

由于出现错误,我什至无法从编辑器运行 onOpen:

无法从此上下文中调用 DocumentApp.getUi()

有没有办法将 Google App Script 安装到我自己的文档中,以便我可以在编辑器之外实际使用它?

1.可能性:您的代码未绑定

  • DocumentApp.getUi()方法仅适用于绑定脚本
  • 如果尚未完成 - 将脚本绑定到您选择的文档,方法是继续Tools -> Script Editor ,粘贴并保存代码
  • 手动运行一次onOpen()以赋予脚本必要的权限

2. 可能性:您的代码绑定到非 Google-Docs 文档

  • DocumentApp UI 只能从 Google Docs 文档中调用
  • 如果您的脚本绑定到例如 Google 电子表格, DocumentApp.getUi()将失败,您需要改用SpreadsheetApp.getUi() (并重写toggleBorders()

3. 可能性:您想让代码通用,而不必将其绑定到文档

  • 在这种情况下,您需要创建一个GSuite 插件并安装它,以便代码适用于您的每个文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM