Keynoteに画像を一括で登録する

Keynote 5.0.3で、指定フォルダ内の画像を取得してKeynoteのスライド上に1ページあたり1点の画像を中央に配置。すべての画像をKeynote上に連続配置するAppleScriptです。

key1.jpg

key2.jpg

フォルダ内の画像については、リストで指定した順序がそのまま反映されるので、Keynoteに渡す前にソートするとか、元のファイル名に細工をするといったことは必要になるかもしれません(Mac OS X 10.5上でスクリーンキャプチャしたファイルは、「ピクチャ 1」といった名前になるため、1桁の数字のファイルは「ピクチャ 01」などにリネームしておくとか)。

Keynoteに画像ファイルのパスを渡す際に、POSIX path以外では通らないようです。また、quoted form ofでクオート処理を行うと配置してくれませんでした。

さらに、この処理自体が不安定なようなので……もし一度AppleScriptから実行してうまくいかなかったときには、Keynoteを一度終了させてから再度起動して、リトライしてみてください。

なんにせよ、画像点数が多い場合にはひじょーーに便利です。

スクリプト名:Keynoteに画像を一括で登録する
–画像が入っているフォルダを選択
set a to choose folder

–指定フォルダ中のファイル(たぶん画像)を一括でaliasとして取得
tell application “Finder”
  tell folder a
    set fList to every file as alias list
  end tell
end tell

–Keynoteが各ファイルのパスをtextで要求しているので、aliasからtextにcastする
set fnList to {}
repeat with i in fList
  set the end of fnList to (POSIX path of (contents of i))
end repeat

–Keynoteに1ページに1枚の画像を配置したスライドを一括作成する
tell application “Keynote”
  tell slideshow 1
    make image slides paths fnList
  end tell
end tell

▼新規書類に ▼カーソル位置に ▼ドキュメント末尾に

Leave a Reply