複数のスライドにまたがる同じ画像を一括してさしかえる
50枚以上あるプレゼンテーションで、複数枚のスライドに別れて同じ画像が(計10数枚)入っていて、それぞれにアニメーションが設定されています。アニメーションの設定を変えずに、それらの画像を別の画像ファイルに一度に差し替える方法はないでしょうか?
50枚以上あるプレゼンテーションで、複数枚のスライドに別れて同じ画像が(計10数枚)入っていて、それぞれにアニメーションが設定されています。アニメーションの設定を変えずに、それらの画像を別の画像ファイルに一度に差し替える方法はないでしょうか?
AppleScriptを使うと編集作業を自動化できますよ。
こちらのサイトで、スライド内の画像を入れ替える方法を紹介しています。
→ https://iworkautomation.com/keynote/image-placeholder.html
私自身はKeynote.appをあまり使った経験がないのですが、編集する書類の特徴に合わせる形でAppleScriptの記述を繰り返し編集し直す作業が必要です。
度々、失礼致します。 私の環境(macOS Sierra, ver. 10.12.3、Keynote.app ver. 7.1)で少し試してみました。
1)例えば、書類中にある同じファイル名の全ての画像を以下のステートメンツでリスト化できます。
tell front document of application "Keynote"
set slideList to images of slides whose file name is photoName
end tell
2)このリスト内の画像を一つ一つ、他の画像と入れ替えるのですが、Keynote.appのウィンドウに表示しているスライド(current slide)を変更せずに画像の入れ替えを実行すると、目的のスライド中の画像を変更できないばかりか、Keynoteで表示しているスライドに画像が新たに追加されてしまい、そのスライドの元の画像が編集できなくなくなる不具合があるようです。
3)そのため、Keynote.appで表示しているスライドを一つ一つ、入れ替える写真が入っているスライドに変更しながら、AppleScriptを実行する必要がありそうです。
以下の例では、書類内にある、"120414_familysouthafrica_at_2936_3000x2000.jpeg"というファイル名の全ての画像を、デスクトップにある"fullsizeoutput_d9.jpeg"というファイル名前の画像に入れ変えます。
set photoName to "120414_familysouthafrica_at_2936_3000x2000.jpeg"
set photoFile to ((path to desktop) as text) & "fullsizeoutput_d9.jpeg"
tell front document of application "Keynote"
activate
set slideList to images of slides whose file name is photoName
repeat with i from 1 to count slides
set current slide to slidei
repeat with thisImage in items of item i of slideList
set file name of thisImage to aliasphotoFile
end repeat
end repeat
end tell
4)ご使用の書類に合わせる形で、AppleSciptを編集し直す作業が繰り返し必要になります。 上記2のバグ等で書類に不具合が生じる可能性が高いので、編集する書類のバックアップを取ってからAppleScriptを実行してみてください。
丁寧なお答えをいただき、ありがとうございます。ただいま出張先で、まだ試せてはいないのですが、内容を拝見する限り求めていた効果の得られるものであると思います。帰り次第、試してみて、結果をご報告いたしますのでしばらくお待ちください。取り急ぎお礼申し上げます。
複数のスライドにまたがる同じ画像を一括してさしかえる