搜索幻灯片并获取页面元素文本

时间:2017-11-13 09:04:43

标签: google-apps-script google-slides-api

我的脚本搜索演示文稿中的一张特定幻灯片。然后它从第一页元素中获取文本。此页面元素是只有一个单词的形状。在此之后,当我在此页面元素文本之前和之后放置字符串时,文本中断。

is_list(H)

输出有一个中断,但我需要一行:

  

My_TestElement

     

_is_cool

如何消除或抑制休息?有没有更好的方法来找到一个特定的幻灯片而不使用“for loop”f.e.喜欢presentation.openSlideById(xxxxxx)?

1 个答案:

答案 0 :(得分:1)

这些答案怎么样?

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)
}

如果我误解了你的问题,我很抱歉。