google-apps-script - Google Slides Apps 脚本检索页面中的形状
问题描述
如何根据形状的文本检索特定的形状。示例:我想检索一个文本以“问题”开头的形状,并获取文本内容以将其输入到 Google 表格中,感谢您的帮助!
解决方案
我相信你的目标如下。
- 您想从 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);
}
笔记:
- 不幸的是,我不确定上面的示例脚本是否是您需要的。因此,当上述脚本对您的情况没有用处时,为了正确理解您的目标,您能否提供示例幻灯片和您期望的示例结果?通过这个,我想修改脚本。
参考:
推荐阅读
- asp.net-core - 在影子属性上创建索引
- json.net - 针对不同的用例使用不同的属性名称序列化和反序列化 JSON
- javascript - 如果同一天,则仅显示时间部分,否则显示完整日期时间
- python - gTTS 计划没有回应
- php - PHP - 使用 google api 客户端登录问题
- reactjs - 反应,上下文从购物车中删除项目
- react-native - 反应原生目标三星 Galaxy S7
- azure-active-directory - Azure AD 中的应用注册在大约 2 周后消失并出现在企业应用中
- sql - 如何在 SQL Server 中批量删除多个条件的数据
- javascript - 为什么此代码在 MacOS Big Sur Safari 上失败?