首页 > 解决方案 > Google Slides Apps 脚本检索页面中的形状

问题描述

如何根据形状的文本检索特定的形状。示例:我想检索一个文本以“问题”开头的形状,并获取文本内容以将其输入到 Google 表格中,感谢您的帮助!

标签: google-apps-scriptgoogle-sheetsgoogle-slides

解决方案


我相信你的目标如下。

  • 您想从 Google 幻灯片中的形状中检索文本。
  • 当文本顶部为 时Issue,您要检索文本,并将检索到的文本放到 Google 电子表格中。
  • 您想使用 Google Apps 脚本实现此目的。

在这种情况下,下面的示例脚本怎么样?不幸的是,根据您的问题,我无法理解您期望的输出情况。因此,以下示例脚本将检索到的值放在第一列。

示例脚本:

请将以下脚本复制并粘贴到脚本编辑器中。并且,请设置变量并运行myFunction.

function myFunction() {
  const presentationId = "###"; // Please set the presentation ID (Google Slides ID).
  const spreadsheetId = "###"; // Please set the Spreadsheet ID.
  const sheetName = "Sheet1"; // Please set the sheet name.
  const searchText = "Issue";

  // Check texts and retrieve texts from Google Slides.
  const regex = new RegExp(`^${searchText}`);
  const slides = SlidesApp.openById(presentationId).getSlides();
  const values = slides.flatMap(slide => slide.getShapes().reduce((ar, shape) => {
    const text = shape.getText().asString().trim();
    if (regex.test(text)) ar.push([text]);
    return ar;
  }, []));

  // Put the retrieved texts to Google Spreadsheet.
  const sheet = SpreadsheetApp.openById(spreadsheetId).getSheetByName(sheetName);
  sheet.getRange(1, 1, values.length, values[0].length).setValues(values);
}

笔记:

  • 不幸的是,我不确定上面的示例脚本是否是您需要的。因此,当上述脚本对您的情况没有用处时,为了正确理解您的目标,您能否提供示例幻灯片和您期望的示例结果?通过这个,我想修改脚本。

参考:


推荐阅读