使用 Google Apps 脚本更新 Google 文档中的嵌入图表

2023-12-23

太长了;如何使用文档中的脚本编辑器更新文档中嵌入的表格图表?

我知道有一个脚本可以为 Google 幻灯片执行此操作,但我正在尝试在 Google 文档中执行此操作,但找不到任何相关文档。

https://developers.google.com/slides/how-tos/add-chart#refreshing_a_chart https://developers.google.com/slides/how-tos/add-chart#refreshing_a_chart

具体来说,我有一个谷歌文档。该文档包含大约 30 个表格和嵌入图表,它们全部链接到单独的 Google 表格。这 30 个人都来自一张 Google 表格。现在,我可以让我们的非极客人员在每次电子表格更改时单击所有三十个“更新”悬停按钮,但我预计电子表格会发生很大变化,并且我想对文档进行白痴防护以确保其始终正常运行-迄今为止。据我所知,这不是 Google Apps 开箱即用的功能,因此我想编写一个脚本来执行此操作。

但我找不到任何方法从 Google 文档访问 EmbeddedChart。

如果我可以像在表格中一样运行这样的东西,我可能可以弄清楚,但我不能:

var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheets()[0];
    var charts = sheet.getCharts();
    for (var i in charts) {
       var chart = charts[i];
       // Update the chart
    }
}

虽然 docs 有以下功能,DocumentApp.getActiveDocument(),对象 Document 不包含函数getCharts()。我相信它们被认为是图像,但图像没有更新功能。

是否可以使用脚本访问/更新文档中的 EmbeddedChart?也许通过编辑电子表格运行脚本并从那里更新文档?似乎很奇怪,您可以在所有内容的幻灯片中执行此操作,但不能在文档中执行此操作。


在 Google Docs DOM 图表中为 InlineImages,这里是记录图像属性的脚本。但它们看起来是只读的,并且此方法的文档以死胡同结束:“如果元素包含此属性的多个值,则为 null。”https://developers.google.com/apps-script/reference/document/inline-image#getLinkUrl() https://developers.google.com/apps-script/reference/document/inline-image#getLinkUrl()

function myFunction() {
  var doc = DocumentApp.getActiveDocument()
  var body = doc.getBody()
  var pars = body.getParagraphs()
  var atts = img.getAttributes();
  // Log the paragraph attributes.
  for (var att in atts) {
    Logger.log(att + ":" + atts[att]);
  }
  
  for (var par in pars) {
    Logger.log(pars[par].getText());
    var chN = pars[par].getNumChildren()
    Logger.log(chN);
    if(chN>0){
      var type = pars[par].getChild(0).getType()
      Logger.log(type);
      if(type=="INLINE_IMAGE"){
            
        var atts = pars[par].getChild(0).getAttributes()
        Logger.log(JSON.stringify(atts));
          for (var att in atts) {
            Logger.log(att + ":" + atts[att]);
          }
      }
    
    }
  }
  return
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Google Apps 脚本更新 Google 文档中的嵌入图表 的相关文章

随机推荐

  • 如何对二维列表进行排序? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有以下类型的列表 lst 1 0 23 2 0 39 4 0 31 5 0 27 我想按第二列的降序对其进行排序 我尝试过内置sorte
  • 在 Coldfusion / Apache POI 中强制完整计算整个工作簿

    给定一个工作簿 其中包含由以下方法生成的跨表公式Coldfusion 9 via Apache POI 我想以编程方式强制整个工作簿进行 通过依赖树重建进行完整计算 before将工作簿保存到磁盘 So that when my end u
  • 我无法使用模式来使用像“abc_def”这样的组名称

    我对必须编译的一系列模式有疑问 这是一个例子
  • 如何外部化 maven-checkstyle-plugin 的 checkstyle 配置

    我试图让 maven checkstyle plugin 对我们的所有项目使用相同的配置文件 我尝试了几种方法 但没有一种有效 似乎唯一有效的是当我将配置文件放在我的 maven project 的根目录中 然后在 pom xml 中使用该
  • 我不确定为什么决策树和随机森林显示 100% 的准确率?

    我目前正在研究一个模型 该模型可以读取结构化数据并确定某人是否患有疾病 我认为问题在于数据没有在训练数据和测试数据之间分开 我不知道我怎样才能做到这一点 我不知道该尝试什么 import pandas as pd import numpy
  • phpUnit中createMock和getMockBuilder有什么区别?

    为了我一生的挚爱 我无法弄清楚两者之间的区别createMock type and getMockBuilder type 我正在查看原始文档 只有一行我不明白 您可以使用 getMockBuilder type 方法来自定义测试双精度生成
  • 监控磁盘读/写活动

    有没有办法使用 python 获取当前磁盘加载 我使用 psutil 来获取 CPU 和 RAM 使用情况 psutil cpu percent and psutil virtual memory used 但我不知道如何获取有关硬盘的此类
  • 交替表行颜色,但有 2 行数据

    我已经为斑马条纹设置了表格 但是如何实现使行颜色交替为 2 行而不是单行 我的数据标记如下所示 tr td task TaskNum td td task RepiarTime td td Priority Club td td SD td
  • 在 Erlang 中将列表拆分为相同大小的块

    我想分割 1 2 3 4 5 6 7 8 into 1 2 3 4 5 6 7 8 它通常适用于 lists sublist List X 2 X lt lists seq 1 length List 2 但这样确实很慢 在我的上网本上 1
  • pandas dataframe 删除频率较低的行

    删除具有低频值列的所有行的最佳实践是什么 数据框 IN foo bar poo 1 a A 2 a A 3 a B 4 b B 5 b A 6 b A 7 c C 8 d B 9 e B 示例1 删除 poo 列中频率值小于 3 的所有行
  • 实际测试我构建的应用程序(Flask,Python)

    如果我构建了一个应用程序 测试实际应用程序的协议是什么 我只是了解测试 并且对扩展进行测试 在其中构建 shell 应用程序 然后测试您的扩展 对我来说很有意义 但如果我想测试我正在构建的实际应用程序的某些部分 则没有意义 我想知道是否有人
  • Laravel 5:自定义 abort() 消息

    使用 Laravel 5 我想发送自定义abort 信息 例如 如果用户没有执行某项操作所需的权限 我想abort 401 User can t perform this actions 目前 当我这样做时 响应文本是 HTML 页面 而不
  • 使用 Javascript 验证单选按钮

    我已经梳理了这里的大量页面 但仍然无法让我的显式验证器工作 基本上 当单击提交按钮时 我希望脚本验证无线电是否已检查 如果检查后什么也不做 如果没有检查 我希望它发布一条警报消息 我的 html 大致如下所示
  • SignalR + Win RT(Windows 8.1) + 使用未签名的证书不起作用[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 经过 4 个多小时的搜索 使 Windows RT SignalR 使用自签名证书工作 找到了 所以我在这里分享一个解决方案 您收到错误 底
  • 如何发送 SOAP 请求?

    我是 SOAP 和 xml 的新手 我读了很多教程 但似乎没有什么是足够清楚的 我有点困惑 到底如何发送 SOAP 请求 我尝试执行此操作的方法是将 SOAP 请求 如下所示 保存为 test Request xml POST Mobile
  • 如何在node.js中逐块进行压缩?

    我正在以块的形式获取压缩网页的内容 并希望在收到每个内容后立即对其进行解压缩 因此我正在尝试执行以下操作 为了可读性而将内容剥离 var decompress function string callback zlib gunzip str
  • 使用宏刷新 Excel 工作簿中的所有数据透视表

    我有一本包含 20 个不同数据透视表的工作簿 有没有简单的方法可以找到所有数据透视表并在 VBA 中刷新它们 Yes ThisWorkbook RefreshAll 或者 如果您的 Excel 版本足够旧 Dim Sheet as Work
  • 使用 OAuth 从 Twitter 获取名字/姓氏/电子邮件

    我专门使用omniauth 来允许通过facebook google twitter 登录我的网站 我存储名字 姓氏和电子邮件 但是 当我从 oauth 提出 twitter auth 哈希时 我只能在 auth 哈希中获得昵称 名称 位置
  • iPhone Web 应用程序的日期选择器

    显示基于 iPhone 的 Web 应用程序的日期选择器的最佳方式是什么 我们可以在 Web 应用程序中显示类似 iPhone 本机日期选择器的内容吗 最简单的方法 可以说是最好的方法 是使用 safari 的内置日期选择器作为输入框 使用
  • 使用 Google Apps 脚本更新 Google 文档中的嵌入图表

    太长了 如何使用文档中的脚本编辑器更新文档中嵌入的表格图表 我知道有一个脚本可以为 Google 幻灯片执行此操作 但我正在尝试在 Google 文档中执行此操作 但找不到任何相关文档 https developers google com