使用Google Appscript刷新从Google Sheets粘贴到Google幻灯片中的表格

3
这里有一个简洁的解决方案,可以更新与Google幻灯片链接的Google表格图表
function onOpen() {
  var ui = SlidesApp.getUi();
  ui.createMenu('Custom Menu')
  .addItem('Batch Update Charts', 'batchUpdate')
  .addToUi();
}

function batchUpdate(){

  var gotSlides = SlidesApp.getActivePresentation().getSlides();

  for (var i = 0; i < gotSlides.length; i++) {
    var slide = gotSlides[i];
    var sheetsCharts = slide.getSheetsCharts();
    for (var k = 0; k < sheetsCharts.length; k++) {
      var shChart = sheetsCharts[k];
      shChart.refresh();
    }
  }
}

我希望用从Google Sheets粘贴到Google Slides的表格做同样的事情。 我无法看到这在AppScript API for Google Slides中会是什么样子。 有人能指出前进的方法吗?


没有尝试过这个,我寻找了类似于表实体的 .refresh() 方法,但我也没有找到。如果确实没有这样一个方法,那么我个人将尝试使用谷歌应用脚本从电子表格中获取 getValues() ,然后通过脚本使用 Slides API,即 https://developers.google.com/apps-script/advanced/slides ,编写一个脚本循环遍历幻灯片上的表格,并插入每个单元格所需的 ss 值。如果没有“陷阱”,那么这并不容易,但也不难。你的经验可能会有所不同。 - David Tew
感谢您的建议 @DavidTew - 我以前没有在幻灯片中使用过appscript(我习惯于在表格中使用它),我会尝试一下。 - goose
1
类似的问题在这里:https://stackoverflow.com/questions/45280944/updating-linked-table-in-google-slides-api - 目前有一个功能请求 https://issuetracker.google.com/issues/64027131,状态为“已分配”,所以还有希望... - Leo
嘿,我认识那段代码 :) 有人在OP的链接帖子中评论了我的脚本,并询问是否可能类似地更新幻灯片中嵌入的表格。我进行了快速的GSearch并找到了这个!看起来我们在20个月后仍然处于“已分配”状态。 - Aleister Tanek Javas Mraz
5个回答

1
最新更新:现在在Slides的工具下拉菜单中有一个选项可以查看所有链接对象;出现的菜单底部有“全部更新”的选项。

enter image description here enter image description here


0
我在Leo的评论中找到了这个问题跟踪链接中的解决方法,该评论是在2018年10月30日发布的:

“如果有人想要这个功能,一个解决方案是在您的工作表中创建一个“表格图表”,从您现有的表格(您尝试链接/更新的表格)中创建。它不允许您从Sheets复制和粘贴到Slides,但是在Slides中,如果您转到插入 -> 图表 -> 来自电子表格,然后选择您的工作表和图表(表格)。然后,您可以使用应用程序脚本自动更新它,就像使用图表一样。”

来自 ad...@lovecrafts.com


0

0

-1

首先,您可以使用类似的变量作为

var sheetsTables = slide.getTables() 

然后使用 for() 循环更新每个幻灯片中的每个表格。但是,我不知道您可以使用哪种方法。如果您知道,请分享。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接