问题描述
我一直在尝试编写代码,以允许我使用“按名称获取工作表”方法将所有图表导入特定的Google工作表中。
此后,我用工作表图表替换了特定的形状,但是我不断收到一个错误消息,说“对象不是Shape类型。(第22行)”。 我在页面元素上遇到了相同的错误,并已解决,但现在又遇到了另一个错误,因此我不确定如何继续前进。
请在下面找到文档链接和代码片段: 幻灯片链接:https://docs.google.com/presentation/d/1CyUkJ7S4eq00MRol3RzcdyAG1m6ovUFBK0H9fxfu-28/edit#slide=id.g8519fa7182_0_355 表格链接:https://docs.google.com/spreadsheets/d/1tPc0KU2uYuN4rO32tW-s6lql_IW57kbDUdSR8ZSkVXY/edit#gid=0 代码:
function importViewFreqCharts() {
var dataSpreadsheetUrl = "https://docs.google.com/spreadsheets/d/1tPc0KU2uYuN4rO32tW-s6lql_IW57kbDUdSR8ZSkVXY/edit#gid=0"; //make sure this includes the '/edit at the end
var ss = SpreadsheetApp.openByUrl(dataSpreadsheetUrl);
var deck = SlidesApp.getActivePresentation();
var deckTitle = SlidesApp.getActivePresentation().getName();
var sheet = ss.getSheetByName(deckTitle);
var charts = sheet.getCharts();
var slides = deck.getSlides();
var pieChartSlide = slides[0];
var pieChart = charts[0];
var pieChartText1 = sheet.getRange('G7').getValue();
var pieChartText2 = sheet.getRange('G8').getValue();
var pageElements = pieChartSlide.getPageElements();
pageElements.forEach(function(pageElement){
if(pageElement.getPageElementType() == "SHAPE"){
if(pageElement.asShape().getShapeType() !== "UNSUPPORTED"){
if(pageElement.asShape().getShapeType() == "RECTANGLE"){
pageElement.asShape().replaceWithSheetsChart(pieChart);}
if(pageElement.asShape().getShapeType() == "TEXT_BOX"){
pageElement.asShape().getText().replaceAllText('{{Sample text 1}}',pieChartText1);
pageElement.asShape().getText().replaceAllText('{{Sample text 2}}',pieChartText2);
}}}});
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)