Google 幻灯片和应用脚本:取消链接所有嵌入的工作表图表



我正在发布谷歌幻灯片,其中包含许多来自电子表格的嵌入式图表。我想取消嵌入图表的链接(从而避免在电子表格中更新数据时获得更新按钮(。如果谷歌提议通过";链接对象";在"工具"菜单的条目中,没有在一个快照中取消所有链接的选项。我需要在每个图表上选择取消链接。

所以我现在正在考虑写一个谷歌应用程序脚本的选择,这样做不会成功。

我在stackoverflow上发现了一个类似的问题:使用GAS 删除谷歌幻灯片的所有超链接

但是removeLink函数对我的图表没有任何影响。我仍然可以看到右上角的链接图标。

知道吗?

不幸的是,在当前阶段,似乎没有方法直接从Speadsheet中删除指向电子表格的链接。但是,当从Speadsheet图表中删除到电子表格的链接时,会发现该对象变成了一个图像。我想这可能会被用来实现你的目标。因此,从这种情况来看,作为一种变通方法,我想提出以下示例脚本。

示例脚本:

此示例脚本将电子表格图表转换为第一张幻灯片上的图像。通过此流程,将删除Speadsheet图表中指向电子表格的链接。

const slide = SlidesApp.getActivePresentation().getSlides()[0];
const charts = slide.getSheetsCharts();
const chart = charts[0];
slide.insertImage(chart.asImage().getBlob(), chart.getLeft(), chart.getTop(), chart.getWidth(), chart.getHeight());
chart.remove();
  • 此脚本的流程如下。

    1. 检索电子表格图表
    2. 从图表中检索图像blob
    3. 通过复制电子表格图表的大小和位置来插入图像blob
    4. 删除电子表格图表

注意:

  • 此示例脚本复制大小和位置。如果要复制其他值,请修改脚本

参考文献:

  • asImage((
  • insertImage(blobSource,left,top,width,height(
  • remove((

添加:

关于您的附加问题如下。

我认为这是一个很好的图表解决方案(例如饼图、列……可以转换为图像(。尽管如此,我还是有一些幻灯片,其中嵌入了一些细胞。在此元素上运行此代码会显示一个问题。你认为这在嵌入式表上也可行吗?

图表与表格不同。所以在这种情况下,我认为你的附加问题是一个新问题。

您最初的问题是从图表中删除电子表格链接。我的答案是针对你的这个问题。在这种情况下,无法使用该表。不幸的是,在当前阶段,没有从表中删除电子表格链接的方法。此外,当从表中删除电子表格链接时,对象类型不会从表中更改。这样,我的变通方法就无法使用了。但是幻灯片服务和幻灯片API现在正在增长。所以我认为这种方法可能会在未来的更新中添加。

那么,作为目前的方法,向谷歌问题跟踪器报告你的新问题如何?据此,可以考虑增加这种方法。

最新更新