使用Google App Script取消链接Google幻灯片中的所有图表

时间:2017-08-03 09:38:35

标签: google-apps-script google-slides-api google-slides

我使用一个函数来更新演示文稿中的图表。 此演示文稿需要共享,但也会定期更新。 现在,我复制演示文稿以保留原始演示文稿以进行更新,并逐个取消链接所有图表。我正在搜索一个函数,一旦我复制了演示文稿就可以取消链接所有图表,以便能够共享它。

是否有可以解决此问题的功能?

function createRefreshSheetsChartsRequests(presentation) { var objectIds = []; var slides = presentation.slides;
  for (var i = 6; i < slides.length - slides.length + 9; i++) {
    var slide = slides[i];
    var pageElements = slide.pageElements;
    for (var j = 0; j < pageElements.length; j++) {
      var pageElement = pageElements[j];
      if (pageElement.sheetsChart) {
        objectIds.push(pageElement.objectId);
      }
    }
  }
  return objectIds.map(function(objectId) {
    return {refreshSheetsChart: {objectId: objectId}};
  });
}    

提前致谢,

拉​​斯

2 个答案:

答案 0 :(得分:1)

没有API可以取消幻灯片API中的图表链接。你有几个选择:

  • 删除图表并重新插入图像。您可以使用CreateSheetsChartRequest LinkingMode.NOT_LINKED_IMAGECreateImageRequest使用您从SheetsChart.content_url字段中的GET API获得的网址执行此操作。您必须注意新图表的位置和大小与现有图表相匹配。

  • 更新图表来源的电子表格的共享权限。如果您共享演示文稿的用户对基础电子表格没有读取权限,则无法刷新幻灯片中的图表,因此无法查看新数据。

如果您对取消关联API感兴趣,可以提交功能请求here

答案 1 :(得分:0)

简单。将Google演示文稿下载为PowerPoint。甚至不必费心打开PowerPoint-只需将其重新上传到您的Google云端硬盘即可。再次出现相同的Google Presentation,但没有链接。美丽