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

如何在Apps Script中识别Google Slides矢量图的组成部件?

处理Google Slides矢量图形状ID的更优方法

方法1:用Google Apps Script批量导出所有形状ID

直接编写脚本遍历幻灯片中的所有形状,输出ID和对应属性,比手动查找高效得多。示例脚本如下:

function getShapeIDs() {
  const presentation = SlidesApp.getActivePresentation();
  const slides = presentation.getSlides();
  
  slides.forEach((slide, index) => {
    console.log(`幻灯片 ${index + 1} 的形状ID:`);
    const shapes = slide.getShapes();
    shapes.forEach(shape => {
      console.log(`- 形状名称:${shape.getName()},ID:${shape.getObjectId()}`);
    });
  });
}

运行脚本后,在查看 > 日志中即可查看所有形状的ID和名称,还可通过shape.getShapeType()判断类型,只筛选矢量图形状。

方法2:分组后批量管理矢量图形状

若矢量图由多个形状组成,先将它们组合为一个组(选中所有形状后右键选择“组合”),之后只需获取组ID,组内形状可通过组对象批量访问:

function getGroupedShapeIDs() {
  const presentation = SlidesApp.getActivePresentation();
  const slide = presentation.getSelection().getCurrentPage().asSlide();
  const groups = slide.getGroups();
  
  groups.forEach(group => {
    console.log(`组ID:${group.getObjectId()}`);
    const groupShapes = group.getChildren();
    groupShapes.forEach(child => {
      if(child.getPageElementType() === SlidesApp.PageElementType.SHAPE) {
        console.log(`  组内形状ID:${child.asShape().getObjectId()}`);
      }
    });
  });
}

方法3:给关键形状命名后精准查找

选中单个矢量形状,在右侧面板排列 > 命名中设置易记名称,之后可通过名称直接查找ID:

function getShapeIDByName() {
  const presentation = SlidesApp.getActivePresentation();
  const targetName = "我的矢量形状"; // 替换为自定义名称
  const slides = presentation.getSlides();
  
  slides.forEach(slide => {
    const shape = slide.getShapes().find(s => s.getName() === targetName);
    if(shape) {
      console.log(`找到目标形状,ID:${shape.getObjectId()}`);
    }
  });
}

这些方法均比手动在开发者工具中逐个查找高效,处理复杂矢量图时优势更明显。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 21:15:58