Google apps script 更改Google幻灯片API中的图表属性
我正在基于模板创建一个新的谷歌幻灯片文件,一旦创建完毕,如果源表发生变化,我需要停止嵌入式图表的更新(这适用于基础数据定期变化的月度报告) 我正在使用谷歌应用程序脚本库的谷歌幻灯片API(感谢Wesley Chun和Martin Hawksey),可以搜索和替换文本 然而,我在库中没有看到任何允许更改图表属性的内容。我可以创建新图表或强制刷新Google apps script 更改Google幻灯片API中的图表属性,google-apps-script,google-slides-api,Google Apps Script,Google Slides Api,我正在基于模板创建一个新的谷歌幻灯片文件,一旦创建完毕,如果源表发生变化,我需要停止嵌入式图表的更新(这适用于基础数据定期变化的月度报告) 我正在使用谷歌应用程序脚本库的谷歌幻灯片API(感谢Wesley Chun和Martin Hawksey),可以搜索和替换文本 然而,我在库中没有看到任何允许更改图表属性的内容。我可以创建新图表或强制刷新 感谢您的帮助。API不支持取消现有图表的链接,以防止用户刷新它。您的最佳选择可能是删除图表并在最终演示中重新创建。您应该能够从presentation.g
感谢您的帮助。API不支持取消现有图表的链接,以防止用户刷新它。您的最佳选择可能是删除图表并在最终演示中重新创建。您应该能够从
presentation.get()
或presentation.pages.get()
中获取图表ID、电子表格ID和页面元素转换,并使用该转换重新插入图表以保留位置和内容 我使用了以下方法删除并重新创建幻灯片文件中的所有图表
for (var j in SLIDES.presentationsGet(DECK_ID).slides) {
var slide = SLIDES.presentationsGet(DECK_ID).slides[j];
for (var i in slide['pageElements']){
var obj = slide['pageElements'][i];
if (obj['sheetsChart']) {
// delete it and recreate as static image
var reqs = [
{'deleteObject': {'objectId': obj['objectId']}},
{'createSheetsChart': {
'spreadsheetId' : obj["sheetsChart"]["spreadsheetId"],
'chartId' : obj["sheetsChart"]["chartId"],
'elementProperties' : {
'pageObjectId': slide['objectId'],
'size' : obj["size"],
'transform' : obj["transform"],
}
}
}
];
SLIDES.presentationsBatchUpdate(DECK_ID, {'requests': reqs})
}
}
关于定制谷歌图表,你查过了吗?您可以使用谷歌图表工具的默认设置-所有自定义都是可选的,基本设置已准备就绪。但是,如果您的网页采用与提供的默认设置不一致的样式,则可以轻松自定义图表。您还可以选中此项,使用应用程序脚本自定义谷歌图表。