You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Google Apps Script获取Google幻灯片中嵌入表格的Spreadsheet ID

获取Google幻灯片中嵌入表格的源电子表格ID

从电子表格嵌入到Google幻灯片的表格,并非普通的Table对象,而是以**关联表格(LinkedSheetsTable)**的形式嵌套在形状(Shape)中。因此不能直接通过getTables()方法获取源信息,需要通过以下方式处理:

核心思路

  1. 遍历幻灯片上的所有形状(Shape)
  2. 判断每个形状是否包含关联表格
  3. 若存在关联表格,调用其方法获取源电子表格ID及其他关联信息

代码实现

var newSlide = SlidesApp.getActivePresentation().getSelection().getCurrentPage().asSlide();
var tableInfos = [];

// 获取幻灯片内所有形状
var shapes = newSlide.getShapes();
for (var i = 0; i < shapes.length; i++) {
  // 尝试获取形状中的关联表格
  var linkedTable = shapes[i].getLinkedSheetsTable();
  if (linkedTable) {
    tableInfos.push({
      linkedTable: linkedTable,
      sourceSpreadsheetId: linkedTable.getSpreadsheetId(), // 源电子表格ID
      sourceSheetId: linkedTable.getSheetId(), // 源工作表ID
      sourceRange: linkedTable.getRange() // 源数据范围
    });
  }
}

关键说明

  • getTables()方法仅能获取幻灯片中手动创建的本地表格,无法识别从电子表格嵌入的关联表格
  • 关联表格必须通过形状的getLinkedSheetsTable()方法获取,该方法返回LinkedSheetsTable对象,包含getSpreadsheetId()、getSheetId()等关键方法

内容的提问来源于stack exchange,提问作者zlZimon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 09:45:02