PowerPoint書類(presentation)の各スライドのタイトルを取得するAppleScriptです。
正確にいえば、タイトルを取得するかもしれないAppleScriptです。本Scriptの実行時にはPowerPointで何らかのPPTX書類をオープンしていることを期待しています。
PowerPointをこづき回してみると、各スライドのタイトルを保持しているプロパティとかいったものが「ない」ことに気づきます。
ではどうやって取り出すかといえば、
(1)slideのplace holderを取得する
(2)place holder内にtext frameが存在しているかを確認
(3)text frameが存在している場合には、内部にアクセスして文字を取り出す
という手順になるようです。
ただし、place holderにアクセスする都合上、
スライドのレイアウトの種類によってはplace holderが存在していないものもあるため、place holderの存在確認から行うべきかもしれません。
また、slide内に複数のplace holderが存在する場合に、どれがtitleに該当するのかを調べる必要があるとか(座標とか、文字サイズとかを頼りに推測)、いろいろと処理が破綻しそうな「例外条件」が多数存在していそうです。
AppleScript名:各slideのタイトル文字列を取得 v2.scpt |
— – Created by: Takaaki Naganoya – Created on: 2023/08/03 — – Copyright © 2023 Piyomaru Software, All Rights Reserved — set tList to getEveryPPTSlideTItles() of me –> {"Title", "1章", "Slide1", "Slide2", "2章", "Slide3", "Slide4"} on getEveryPPTSlideTItles() set tList to {} tell application "Microsoft PowerPoint" tell active presentation set sList to every slide repeat with i in sList set j to contents of i tell j set plaList to every place holder set aPla to contents of first item of plaList set hText to (has text of text frame of aPla) as boolean if hText = true then set hTextR to (content of text range of text frame of aPla) as string else set hTextR to "" end if end tell set the end of tList to hTextR end repeat return tList end tell end tell end getEveryPPTSlideTItles |
More from my site
(Visited 192 times, 1 visits today)