我正在尝试编写一个Google Apps脚本,该脚本采用每张幻灯片的幻灯片标题(因为它们在主幻灯片中),并将它们放在幻灯片2上格式良好的目录中.
I'm attempting to write a google apps script that takes the slide titles of every slide (as they are in the master slides) and put them in a nicely formatted table of contents on slide 2.
不一定必须使用apps脚本来完成,但这是我能想到的最好方法.
It doesn't necessarily have to be done with apps script, but this is the best way I could think of.
function readPageElementIds(presentationId, pageId) { var response = Slides.Presentations.get( presentationId); Logger.log(response.slides) for (var i = 0; i < response.slides.length; i++) { var slide = response.slides[i].pageElements; for (var j = 0; j < slide.length; j++) { if (slide[j].shape) { var texts = slide[j].shape.text.textElements; for (var k = 0; k < texts.length; k++) { if (texts[k].autoText) { Logger.log(texts[k].autoText.content); } } } } } }是的,有很多for循环,我不知道该怎么做.
Yes that's a lot of for loops, I have no idea how to do this.
推荐答案那已经很接近了.您缺少的东西:
That's fairly close. Things you're missing:
-
您要遍历所有形状,而不仅仅是标题.为此,请过滤shape.placeholder.type属性.您只想查看具有TITLE和CENTERED_TITLE占位符类型的形状.
You're iterating on all of the shapes, not just the titles. For that, filter on the shape.placeholder.type property. You only want to look at shapes with TITLE and CENTERED_TITLE placeholder types.
autoText文本元素相对较少.您的大部分文本都将包含在TextRun文本元素中
autoText text elements are relatively rare. Most of your text will be in TextRun text elements
此代码将起作用:
function readPageElementIds(presentationId, pageId) { var response = Slides.Presentations.get( presentationId); Logger.log(response.slides) for (var i = 0; i < response.slides.length; i++) { var slide = response.slides[i].pageElements; for (var j = 0; j < slide.length; j++) { if (slide[j].shape && slide[j].shape.placeholder && (slide[j].shape.placeholder.type == 'TITLE' || slide[j].shape.placeholder.type == 'CENTERED_TITLE')) { var texts = slide[j].shape.text.textElements; var shapeText = ""; for (var k = 0; k < texts.length; k++) { if (texts[k].autoText) { shapeText += texts[k].autoText.content; } if (texts[k].textRun) { shapeText += texts[k].textRun.content; } } Logger.log(shapeText); } } } }更多推荐
在Google Apps脚本中获取幻灯片标题
发布评论