Charts 使用谷歌应用程序脚本更新谷歌文档中的嵌入式图表
TLDR;如何在文档中使用脚本编辑器来更新文档中嵌入的图纸图表 我知道有一个脚本可以为谷歌幻灯片做这项工作,但我正在谷歌文档中尝试,却找不到相关文档 具体来说,我有一个谷歌文档。这个文档包含大约30个表和嵌入的图表,它们都链接到一个单独的谷歌表单。这三十张都来自一张谷歌表格。现在,每当电子表格发生变化时,我可以让我们的非极客点击所有30个“更新”悬停按钮,但我希望电子表格会发生很大变化,我想对文档进行白痴验证,以确保它始终是最新的。据我所知,这不是谷歌应用程序的现成功能,所以我想写一个脚本来实现它 但我找不到任何方法从谷歌文档中访问嵌入式图表 如果我能像你一样在工作表中运行这样的东西,我可能会想出来,但我不能:Charts 使用谷歌应用程序脚本更新谷歌文档中的嵌入式图表,charts,google-apps-script,google-sheets,google-docs,Charts,Google Apps Script,Google Sheets,Google Docs,TLDR;如何在文档中使用脚本编辑器来更新文档中嵌入的图纸图表 我知道有一个脚本可以为谷歌幻灯片做这项工作,但我正在谷歌文档中尝试,却找不到相关文档 具体来说,我有一个谷歌文档。这个文档包含大约30个表和嵌入的图表,它们都链接到一个单独的谷歌表单。这三十张都来自一张谷歌表格。现在,每当电子表格发生变化时,我可以让我们的非极客点击所有30个“更新”悬停按钮,但我希望电子表格会发生很大变化,我想对文档进行白痴验证,以确保它始终是最新的。据我所知,这不是谷歌应用程序的现成功能,所以我想写一个脚本来实
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()
,但对象文档不包含函数getCharts()
。我相信它们被认为是图像,但图像没有更新功能
甚至可以使用脚本访问/更新文档中的嵌入式图表吗?也许通过在电子表格中运行脚本来编辑和更新文档?看起来很奇怪,你可以在所有东西的幻灯片中这样做,但不能在文档中这样做。在Google文档中,DOM图表作为InlineImages,这里是记录图像属性的脚本。但实际上,它们看起来是只读的,此方法的文档以死胡同结尾:“如果元素包含此属性的多个值,则为null。”
函数myFunction(){
var doc=DocumentApp.getActiveDocument()
var body=doc.getBody()
var pars=body.getParations()
var atts=img.getAttributes();
//记录段落属性。
for(var att在atts中){
Logger.log(att+”:“+atts[att]);
}
对于(var PAR中的PARS){
Logger.log(pars[par].getText());
var chN=pars[par].getNumChildren()
Logger.log(chN);
如果(chN>0){
var type=pars[par].getChild(0).getType()
Logger.log(类型);
如果(类型==“内联图像”){
var atts=pars[par].getChild(0).getAttributes()
Logger.log(JSON.stringify(atts));
for(var att在atts中){
Logger.log(att+”:“+atts[att]);
}
}
}
}
返回
}
您能找到解决方案吗?我没有。我们最终使用了微软办公软件。我们确实在寻找跨平台的解决方案,但从未找到。