0

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

有没有可以解决这个问题的功能?

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}};
  });
}    
4

2 回答 2

1

Simple. Download Google Presentation as a PowerPoint. Don't even bother opening in with PowerPoint - just re-upload it again to your Google Drive. Same Google Presentation re-appears, but WITHOUT the links. Beautiful

于 2019-11-11T21:30:25.757 回答
1

Slides API 中没有用于取消链接图表的 API。不过,您有几个选择:

  • 删除图表并重新插入为图像。您可以使用从字段中的 GET API 获得的 URL 使用CreateSheetsChartRequestLinkingMode.NOT_LINKED_IMAGE使用CreateImageRequest来执行此操作。SheetsChart.content_url您必须注意新图表的位置和大小以匹配现有图表。

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

如果您对取消链接 API 感兴趣,可以在此处提交功能请求。

于 2017-08-03T22:14:18.057 回答