02:25 継続時間の書き戻し Excelシートで修正したアニメーション時間をPowerPointに書き戻す方法を解説。
https://www.youtube.com/watch?v=6BL3lLcAEw4&t=145
Option Explicit 'アクティブなPowerPointスライドのアニメーションを探る 'アニメの時間をシートへ書き込む Sub test240910_ppアニメ情報をシートへ() '起動済みのパワポを捕まえる Dim ppApp As Object 'As PowerPoint.Application Set ppApp = Nothing On Error Resume Next 'エラーが発生しても強引に次の命令に行け Set ppApp = GetObject(, "PowerPoint.Application") On Error GoTo 0 '忘れないで戻すぞ If ppApp Is Nothing Then MsgBox "パワポが見つかりません" Exit Sub End If 'Excel側の見出しを書く Dim 基準位置 As Range Set 基準位置 = Range("B6") 'B6を起点にデータを処理する 基準位置.CurrentRegion.Clear '基準位置から範囲データをクリアする 基準位置.Offset(0, 0) = "No" '見出しを書く 基準位置.Offset(0, 1) = "名前" 基準位置.Offset(0, 2) = "アニメType" 基準位置.Offset(0, 3) = "のExitか?(クリア)" 基準位置.Offset(0, 4) = "継続時間" 基準位置.Offset(0, 5) = "遅延" Dim nPAGE As Integer Dim objSLD As Object 'スライド Dim objShape As Object 'シェイプ nPAGE = ppApp.ActiveWindow.Selection.SlideRange.SlideIndex '現在選択しているページ Set objSLD = ppApp.ActivePresentation.Slides(nPAGE) 'プレゼンの下、スライドnページをセット 'アニメ タイムテーブル Dim objTimeLine As Object 'アニメタイムライン Set objTimeLine = objSLD.TimeLine 'スライドの下にタイムラインがあります '↑このタイムラインにアニメ効果を追加していくイメージです Dim objEffect As Object 'タイムラインの中にアニメ効果 'TimeLine.MainSequenceから複数のアニメ効果を取り出しセルに書き込む Dim n As Integer For n = 1 To objTimeLine.MainSequence.Count 'アニメ効果の数ループ Set objEffect = objTimeLine.MainSequence(n) '←このアニメ効果を探る With objEffect 基準位置.Offset(n, 0) = n 'No 基準位置.Offset(n, 1) = .DisplayName '"名前" 基準位置.Offset(n, 2) = .EffectType '"アニメType" 基準位置.Offset(n, 3) = .Exit 'フェードイン表示とフェードアウトクリアの判断 'タイミング.Timingの下 基準位置.Offset(n, 4) = .Timing.Duration '"継続時間" 基準位置.Offset(n, 5) = .Timing.TriggerDelayTime '"遅延" End With Next MsgBox "処理終了、セルの値を確認して下さい" End Sub 'アクティブなPowerPointスライドのアニメーションを探る 'シートで設定した時間をppへ書き戻す、修正する Sub test240910_シート入力時間でppアニメを更新() '起動済みのパワポを捕まえる Dim ppApp As Object 'As PowerPoint.Application Set ppApp = Nothing On Error Resume Next 'エラーが発生しても強引に次の命令に行け Set ppApp = GetObject(, "PowerPoint.Application") On Error GoTo 0 '忘れないで戻すぞ If ppApp Is Nothing Then MsgBox "パワポが見つかりません" Exit Sub End If 'Excel側の見出し位置、基準位置 Dim 基準位置 As Range Set 基準位置 = Range("B6") 'B6を起点にデータを処理する Dim nPAGE As Integer Dim objSLD As Object 'スライド Dim objShape As Object 'シェイプ nPAGE = ppApp.ActiveWindow.Selection.SlideRange.SlideIndex '現在選択しているページ Set objSLD = ppApp.ActivePresentation.Slides(nPAGE) 'プレゼンの下、スライドnページをセット 'アニメ タイムテーブル Dim objTimeLine As Object 'アニメタイムライン Set objTimeLine = objSLD.TimeLine 'スライドの下にタイムラインがあります '↑このタイムラインにセットするイメージです Dim objEffect As Object 'タイムラインの中にアニメ効果 'TimeLine.MainSequenceのアニメ効果をセルの値で更新する Dim y As Integer 'データの位置 Dim n As Integer 'アニメの位置 For y = 1 To 999 'データを999行ループの手抜きで↓で抜る処理 If Len(Trim("" & 基準位置.Offset(y, 0))) = 0 Then Exit For '↑Noが存在する間ループする n = 基準位置.Offset(y, 0) '連番でなくても、処理するため Set objEffect = objTimeLine.MainSequence(n) '←このアニメ効果を更新 '↑エラー処理、欲しいよね・・まぁ、とりあえず保留 '今回は、継続時間と遅延を更新する With objEffect 'タイミング.Timingの下 .Timing.Duration = 基準位置.Offset(y, 4) '"継続時間" .Timing.TriggerDelayTime = 基準位置.Offset(y, 5) '"遅延" DoEvents End With Next DoEvents MsgBox "処理終了、ppアニメーションウインドウを確認して下さい" End Sub
1.初めに簡単なコードのポイントを説明する
1.1 スライドオブジェクトの下にアニメのタイムラインがあります
nPAGE = ppApp.ActiveWindow.Selection.SlideRange.SlideIndex '現在選択しているページ Set objSLD = ppApp.ActivePresentation.Slides(nPAGE) 'プレゼンの下、スライドnページをセット 'アニメ タイムテーブル Dim objTimeLine As Object 'アニメタイムライン Set objTimeLine = objSLD.TimeLine 'スライドの下にタイムラインがあります '↑このタイムラインにセットするイメージです
各スライドにアニメのタイムテーブルが存在する感じです。
TimeLineにMainSequenceがあり、アニメが順番に処理されます
参考過去動画のURL:
PowerPoint アニメーション TimeLine MainSequence を探ってみた
https://www.youtube.com/watch?v=SnghajBQwIM&t=1034s
こちらも、見てください。と宣伝しつつ、、、
1.2 個々のアニメ効果エフェクトを探ります
TimeLine.MainSequence.Count
で、アニメの数
あとはn番目のアニメ、
Set objEffect = objTimeLine.MainSequence(n) '←このアニメ効果を探る With objEffect 基準位置.Offset(n, 0) = n 'No 基準位置.Offset(n, 1) = .DisplayName '"名前" 基準位置.Offset(n, 2) = .EffectType '"アニメType" 基準位置.Offset(n, 3) = .Exit 'フェードイン表示とフェードアウトクリアの判断 'タイミング.Timingの下 基準位置.Offset(n, 4) = .Timing.Duration '"継続時間" 基準位置.Offset(n, 5) = .Timing.TriggerDelayTime '"遅延" End With
など、プロパティをシートへ書き出しただけです。
08:07 使用したプロパティ 今回の動画で使用したプロパティであるDurationとTriggerDelayTimeについて解説。
https://www.youtube.com/watch?v=6BL3lLcAEw4&t=487
今回使用したいプロパティは、
Effectの下に
Timingがあり、
Duration '"継続時間"
と
TriggerDelayTime '"遅延"
です。
①シートへ出力したり
②シートの値を書き戻したりしています
参考過去動画のURL:
過去動画のフェードイン・アウトの動画設定などが参考になると思います
PowerPoint アニメーション フェードアウト 終了を連続セットする
https://www.youtube.com/watch?v=9PNq6QRLtZ0&t=360s
や
PowerPoint アニメーション ワイプの設定 MainSequence AddEffect
https://www.youtube.com/watch?v=9eqfud7dGjs&t=1064s
こちら↑を見てください。と宣伝しつつ、、、
www.youtube.com
https://www.youtube.com/watch?v=6BL3lLcAEw4
目次:
00:00 PowerPointアニメのタイミング調整 PowerPointアニメーションの遅延時間を使った調整方法を解説。複数のアニメーションのタイミングを合わせるテクニックを紹介。
00:25 アニメ設定の書き出し PowerPointのアニメーション設定をExcelシートに書き出す方法を紹介。
02:25 継続時間の書き戻し Excelシートで修正したアニメーション時間をPowerPointに書き戻す方法を解説。
05:53 アニメ効果のプロパティ PowerPointアニメーションのエフェクト、タイミング、継続時間などのプロパティについて解説。
07:42 コード説明 これまでの内容を簡単にまとめたコード説明。
08:07 使用したプロパティ 今回の動画で使用したプロパティであるDurationとTriggerDelayTimeについて解説。
09:04 コード解説:PowerPointアプリケーションの取得 PowerPointアプリケーションを取得するためのVBAコードを解説。
10:05 コード解説:スライドの取得 アクティブなスライドを取得するためのVBAコードを解説。
11:12 タイムラインの構造 PowerPointアニメーションのタイムライン構造について、MainSequenceとInteractiveSequenceの違いに触れながら解説。
12:24 アニメ効果の取得 タイムラインから個々のアニメ効果を取得する方法を解説。
13:18 durationとtriggerDelayTime アニメ効果のプロパティであるdurationとtriggerDelayTimeについて解説。
14:10 DisplayNameの取得 アニメ効果のプロパティであるDisplayNameを取得する方法を解説。
15:14 タイミングの下 タイミングのプロパティの詳細について解説。
17:30 遅延時間を使う理由 なぜアニメーションのタイミングを全て遅延時間で調整するのか、その理由を解説。
18:08 直前の動作の後の使い方 アニメーションの開始タイミングとして「直前の動作の後」を使用する方法と、その用途を解説。
22:57 遅延時間調整のメリット 写真などを表示する際、遅延時間調整が便利な理由を解説。
23:42 直前の動作と同時 + 遅延時間調整 全てのアニメーションを「直前の動作と同時」に設定し、遅延時間でタイミングを調整する方法を解説。
31:48 Excelツールを使った調整 再度Excelツールを使ってアニメーションのタイミングを調整する方法を紹介。
34:25 蛇足:結婚式のムービー作成 PowerPointを使って結婚式のムービーを作成する例を紹介。知恵袋の質問を元に、BGM、メッセージ、枠線などを追加する方法を解説。
48:56 動く写真の作成 結婚式ムービーに使用する、拡大縮小して動く写真の作成方法を解説。
57:29 写真の配置とアニメーションのコピー 作成した動く写真を複数配置し、アニメーションをコピーして適用する方法を紹介。
1:01:57 Excelツールでタイミング調整 再びExcelツールを使って写真の表示タイミングを調整する方法を解説。
1:05:49 表示順の調整 写真とメッセージの表示順序を調整する方法を解説。
1:08:11 画面切り替え設定 スライドショーの自動切り替え時間の設定方法を紹介。
1:09:56 動画のエクスポート 作成したPowerPointを動画としてエクスポートする方法を紹介。
2.パワーポイントのアニメでタイミングを全て遅延で合わせる?
何言ってんだ?こいつは・・・って、感じですよね。
普通は、アニメを順番に流したかったら、
クリック時
から
直前の動作の後
を使えば、連続してアニメーション動作が行われるのに、
全て、
直前の動作と同時にして、
遅延でタイミングを合わせるとは?
意味不明です。思考が読めません。
2.1 直前の動作の後 で連続実行させる
①1,2,3,4と数字を1秒ごとに表示させてみます
②ワイプで図形の線を導火線のように表示して線をつなげてみます
2.2 全て、直前の動作と同時にして遅延でタイミングを合わせる
アニメーションの間に(同時に)
写真などを表示させたい時、
直前の動作の後だと、タイミングが設定しにくい
※直前の動作の後と直前の動作と同時を組み合わせたりできるけど
写真を挿入する例を実践してみる。
③写真を表示、表示後消して、次の写真を表示する
3.まとめ 作成したExcelのツールを使ってみる
4.おわりの挨拶
こんな感じで、遅延でアニメのタイミングを合わせてみました
処理の参考となれば、幸いです。
5.蛇足:人はなぜPowerPointで結婚式で流すムービーを無理やりにでも作りたいのか?
知恵袋の質問:
結婚式用にプロフィールムービーをパワーポイントで作成しています。
youtubeで参考にしているのが下記リンク先の動画なのですが、6分10秒くらいから流れる、
・画像は背景に透過されていて何枚も流れる
・メッセージが流れる
・メッセージを囲う四角が画像とメッセージ終わるタイミングで完成する
このスライドを作りたいのですが、やり方がわかりません。
ご教授いただきたいです。
に答えてみます
(※幸せな人を助けると、自分も幸せになれるといいなぁ・・・おいおい)
結婚式のBGM
パカパカ~ン
チャララ~ン
繰り返す
5.1 メッセージが流れる
メッセージを作る行間設定、
メッセージ:
これまでの沢山の
出会いと思い出に感謝し
ふたりで明るく幸せな家庭を
築いていきたいと思います
アニメの設定:
緑色の表示のアニメを使い
オプションを段落単位にする
動作を
直前の動作と同時にして
遅延でタイミングを取る
3秒×4行の12秒で作成する
※この秒数を下の枠を合わせる
色を白、フチ取りとか、シャドーとか、必要かも・・・
5.2 枠の作成
直線を4つ作成して、枠として使う
アニメのワイプを設定して、オプションの方向をセットする
直前の動作と同時にして
縦棒2.5秒
横棒3.5秒
遅延でタイミングを取る
※タイミングは、同じ速度に調整してね、とりあえずのセットで。
5.3 メッセージと枠をプラスして確認する
新しいスライドに
作成した二つのスライドの部品を追加する
5.4 動く写真のアニメ、ひな型を作る
写真を動かす方法は、イロイロありますが、
テストで、
①透過30%の写真、拡大130%
アニメで表示、拡大130%,クリアの3セットを作成する
直前の動作と同時にして
表示0.25秒 遅延秒
拡大縮小1.50秒 遅延0.25秒
クリア0.25秒 遅延1.75秒
で、作成、遅延をセットする
②透過30%の写真、縮小75%を作成
同様に、縮小パターンを作る。
※2パターンの動きでテスト、動かし方や、移動は、検討事項・・・
5.5 写真を貼り付ける
写真を6枚、2秒*6枚で12秒でテストしたいと思います。
写真を貼り、ひな型のアニメをコピーします(透過設定もコピーします)
アニメーションのコピー貼り付けを使い、3つをコピーします
5.6 遅延時間を調整します
あとは、気合で、遅延時間を調整・・・おいおい・・・
だと、調整が大変なので、
Excelの自作ツールを使います
※宣伝も兼ねて・・・
以上、簡単な説明でした・・・
なんとなく、違うなぁ・・と思いつつ、
PowerPointのアニメを遅延で合わせてみました。
あっ、この複雑なアニメ設定?チャント出力できるんだろうなぁ・・・
動画にエクスポートで、できなかったら・・が、良くある話なので・・・