是否可以在特定幻灯片中 update/replace 文本?
Is it possible to update/replace text in a specific slide?
是否可以update/replace特定幻灯片中的文本内容?
示例 - 假设我们总共有 5 张幻灯片,第 2、3、4 张幻灯片中有 {product_name}。但是我们需要 update/replace 文本 {product_name} 仅在幻灯片 3 中而不是在幻灯片 2,4 中。
ReplaceAllText 是可能的,但它会替换所有找到 {PRODUCT_NAME} 的幻灯片,但我们只需要更新特定幻灯片的文本,假设只有 3 号幻灯片。我已经探索了很多,但找不到实现相同目标的方法。
Snippet for ReplaceAllText (Works for all the slides replace, but we need the same for a specific slide & not for all): -
requests = [{
replaceAllText: {
containsText: {
text: '{{PRODUCT_NAME}}',
matchCase: true
},
replaceText: PRODUCT_NAME
}
}
谢谢!
我相信你的目标如下。
- 您想替换 Google 幻灯片中第 3 张幻灯片中
{{PRODUCT_NAME}}
的文本。
- 您想使用带有 Google Apps 脚本的幻灯片 API 的 batchRequest 来实现此目的。
在这种情况下,我认为可以使用pageObjectIds
的属性。
修改后的脚本:
function myFunction() {
const PRODUCT_NAME = "sample value"; // Please set your actual value.
const s = SlidesApp.getActivePresentation(); // or SlidesApp.openById("id")
const pageElementId = s.getSlides()[2].getObjectId(); // pageElementId of 3rd page.
console.log(pageElementId)
const resource = {
requests: [{
replaceAllText: {
pageObjectIds: [pageElementId],
replaceText: PRODUCT_NAME,
containsText: { matchCase: true, text: "{{PRODUCT_NAME}}" }
}
}]
};
Slides.Presentations.batchUpdate(resource, s.getId());
}
const pageElementId = s.getSlides()[2].getObjectId();
returns第3页的页面元素ID。这用于 pageObjectIds: [pageElementId]
.
参考文献:
是否可以update/replace特定幻灯片中的文本内容?
示例 - 假设我们总共有 5 张幻灯片,第 2、3、4 张幻灯片中有 {product_name}。但是我们需要 update/replace 文本 {product_name} 仅在幻灯片 3 中而不是在幻灯片 2,4 中。
ReplaceAllText 是可能的,但它会替换所有找到 {PRODUCT_NAME} 的幻灯片,但我们只需要更新特定幻灯片的文本,假设只有 3 号幻灯片。我已经探索了很多,但找不到实现相同目标的方法。
Snippet for ReplaceAllText (Works for all the slides replace, but we need the same for a specific slide & not for all): -
requests = [{
replaceAllText: {
containsText: {
text: '{{PRODUCT_NAME}}',
matchCase: true
},
replaceText: PRODUCT_NAME
}
}
谢谢!
我相信你的目标如下。
- 您想替换 Google 幻灯片中第 3 张幻灯片中
{{PRODUCT_NAME}}
的文本。 - 您想使用带有 Google Apps 脚本的幻灯片 API 的 batchRequest 来实现此目的。
在这种情况下,我认为可以使用pageObjectIds
的属性。
修改后的脚本:
function myFunction() {
const PRODUCT_NAME = "sample value"; // Please set your actual value.
const s = SlidesApp.getActivePresentation(); // or SlidesApp.openById("id")
const pageElementId = s.getSlides()[2].getObjectId(); // pageElementId of 3rd page.
console.log(pageElementId)
const resource = {
requests: [{
replaceAllText: {
pageObjectIds: [pageElementId],
replaceText: PRODUCT_NAME,
containsText: { matchCase: true, text: "{{PRODUCT_NAME}}" }
}
}]
};
Slides.Presentations.batchUpdate(resource, s.getId());
}
const pageElementId = s.getSlides()[2].getObjectId();
returns第3页的页面元素ID。这用于pageObjectIds: [pageElementId]
.