搜索幻灯片并获取页面元素文本
search slide and get page element text
我的脚本搜索演示文稿中的一张特定幻灯片。然后它从第一个页面元素获取文本。这个页面元素是一个只有一个词的形状。在此之后,当我在此页面元素文本前后放置字符串时,文本中出现中断。
function readShapeText() {
var presentation = SlidesApp.getActivePresentation();
var slides = presentation.getSlides();
for (i = 0; i < slides.length; i++) {
if(slides[i].getObjectId() == 'mySlideId'){
var pageElement = slides[i].getPageElements()[0].asShape().getText().asString();
}
}
var myModifiedElement = "My_" + pageElement + "_is_cool";
}
输出是有中断的,但我需要一行:
My_TestElement
_is_cool
如何消除或抑制中断?有没有更好的方法可以在不使用“for 循环”的情况下找到特定的幻灯片 f.e。喜欢 presentation.openSlideById(xxxxxx)?
这些答案怎么样?
Q1:如何消除或抑制中断?
似乎总是给出文本的结尾\n
。从 Slides.Presentations.get()
检索到的值也可以看出这一点。所以如果你想检索没有 \n
的值,你可以使用 replace("\n", "")
.
Q2:有没有更好的方法可以不使用 "for loop" f.e 来查找特定幻灯片。像 presentation.openSlideById(xxxxxx)?
下面的示例脚本怎么样?它使用 filter()
检索了特定的幻灯片,因为 objectId
的键包含在数组中。而且还用了replace("\n", "")
。
function readShapeText() {
var mySlideId = "mySlideId"; // Please input this.
var presentation = SlidesApp.getActivePresentation();
var slides = presentation.getSlides();
var slide = slides.filter(function(e){return e.getObjectId() == mySlideId})[0];
var pageElement = slide.getPageElements()[0].asShape().getText().asString().replace("\n", "");
var myModifiedElement = "My_" + pageElement + "_is_cool";
Logger.log(myModifiedElement)
}
如果我误解了你的问题,我很抱歉。
我的脚本搜索演示文稿中的一张特定幻灯片。然后它从第一个页面元素获取文本。这个页面元素是一个只有一个词的形状。在此之后,当我在此页面元素文本前后放置字符串时,文本中出现中断。
function readShapeText() {
var presentation = SlidesApp.getActivePresentation();
var slides = presentation.getSlides();
for (i = 0; i < slides.length; i++) {
if(slides[i].getObjectId() == 'mySlideId'){
var pageElement = slides[i].getPageElements()[0].asShape().getText().asString();
}
}
var myModifiedElement = "My_" + pageElement + "_is_cool";
}
输出是有中断的,但我需要一行:
My_TestElement
_is_cool
如何消除或抑制中断?有没有更好的方法可以在不使用“for 循环”的情况下找到特定的幻灯片 f.e。喜欢 presentation.openSlideById(xxxxxx)?
这些答案怎么样?
Q1:如何消除或抑制中断?
似乎总是给出文本的结尾\n
。从 Slides.Presentations.get()
检索到的值也可以看出这一点。所以如果你想检索没有 \n
的值,你可以使用 replace("\n", "")
.
Q2:有没有更好的方法可以不使用 "for loop" f.e 来查找特定幻灯片。像 presentation.openSlideById(xxxxxx)?
下面的示例脚本怎么样?它使用 filter()
检索了特定的幻灯片,因为 objectId
的键包含在数组中。而且还用了replace("\n", "")
。
function readShapeText() {
var mySlideId = "mySlideId"; // Please input this.
var presentation = SlidesApp.getActivePresentation();
var slides = presentation.getSlides();
var slide = slides.filter(function(e){return e.getObjectId() == mySlideId})[0];
var pageElement = slide.getPageElements()[0].asShape().getText().asString().replace("\n", "");
var myModifiedElement = "My_" + pageElement + "_is_cool";
Logger.log(myModifiedElement)
}
如果我误解了你的问题,我很抱歉。