太长了;如何使用文档中的脚本编辑器更新文档中嵌入的表格图表?
我知道有一个脚本可以为 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(使用前将#替换为@)