Keynoteの最前面の書類(現在の書類)と同じ階層に没スライドを入れるゴミ箱用のスライドを、編集中の現在のスライドと同じサイズ(Normal/HD)で同じテーマで作成するAppleScriptです。
ふだん、Keynoteで作業をしているときに、不要になったスライド(ページ)を完全削除せず、別書類に移動させて復活させられるようにしているのですが、その作業が煩雑だったのでScriptで自動化したものです。
同階層にゴミ箱用のスライド書類が存在していたら、それをオープンします。存在していなければ、新規作成して指定ファイル名で保存….というところで、v12のバグに遭遇してしまったわけです。
AppleScript名:Keynoteの現在の書類と同じ階層に没スライド入れを作成.scpt |
— – Created by: Takaaki Naganoya – Created on: 2022/05/29 — – Copyright © 2022 Piyomaru Software, All Rights Reserved — use AppleScript version "2.4" use scripting additions use framework "Foundation" property newFileName : "没.key" —"trash.key" tell application "Keynote" tell front document set dName to getCurThemeName() of me set curFile to (file of it) as alias set myHeight to height of it set myWidth to width of it end tell end tell –書類の親フォルダを取得(POSIX path) set parentFol to getParentFol(curFile) of me set newKeynoteFile to parentFol & "/" & newFileName –ファイルの存在確認 set exRes to chkFileExistence(newKeynoteFile) of me if exRes = true then –すでに存在している場合はそれをオープン set newKeynoteFileAlias to (POSIX file newKeynoteFile) as alias tell application "Keynote" open newKeynoteFileAlias end tell return else –まだ存在していない場合、最前面の書類と同じテーマ、縦横比(SD、HD)の新規書類を作成する set parentFolAlias to (POSIX file parentFol) as alias as string –POSIX path to HFS path string set saveFilePathStr to (parentFolAlias as string) & newFileName tell application "Keynote" set newDoc to make new document with properties {document theme:theme dName, width:myWidth, height:myHeight} –save newDoc in file saveFilePathStr as Keynote–Keynote v12のバグに遭遇したため機能オフに end tell end if –ファイルの存在確認 on chkFileExistence(aFilePathStr) set fileManager to current application’s NSFileManager’s defaultManager() set aRes to fileManager’s fileExistsAtPath:aFilePathStr return aRes as boolean end chkFileExistence on getParentFol(anAlias) set aPath to POSIX path of anAlias set pathString to current application’s NSString’s stringWithString:aPath set newPath to pathString’s stringByDeletingLastPathComponent() return newPath as string end getParentFol on getCurThemeName() tell application "Keynote" set dCount to count every document if dCount = 0 then error "No Document" tell front document set aTheme to document theme set atThemeName to name of aTheme end tell end tell end getCurThemeName |
More from my site
(Visited 41 times, 1 visits today)