PowerPointでプレゼンテーションを動画化するとき、フレームレートの設定に関して悩んだことはありませんか?実際には、標準のエクスポート機能だけでは自由にフレームレートを変更できません。本記事では、VBAマクロを使って理想のFPSで動画を書き出す方法をご紹介します。
PowerPointで動画フレームレートを変更する意義
PowerPointを使えば、プレゼンテーションの内容を手軽に動画として保存できます。しかし既定のエクスポート機能だけでは、フレームレート(FPS)を自由に変更できないという制限があります。たとえば映画業界で一般的な23.976FPSや、ヨーロッパの放送規格に近い25FPSなどを指定したい場合、標準UIの操作だけでは対応が難しいのです。ここでは、なぜフレームレートにこだわるべきなのか、その理由から確認していきましょう。
表現力の向上
動画のフレームレートは、映像の滑らかさや質感に大きな影響を与えます。ビジネス向けのスライドでも、モーショングラフィックスを多用する場合や、アニメーションが豊富なプレゼンテーションでは、フレームレートを適切に選択することでより自然な動きや高級感を演出できます。
企画・配信規格への対応
YouTubeやテレビ放送、映画など、それぞれに最適なフレームレートや規格があります。企画の要件によっては30FPSでの書き出しでは不都合が生じるかもしれません。クライアントや視聴者が普段目にする映像に合わせたFPSで届けることで、より違和感のない動画を提供できます。
PowerPointの標準エクスポートでのフレームレートの実態
PowerPoint(2019などのバージョン)で[ファイル]→[エクスポート]→[ビデオの作成]を実行した場合、実際には約30FPS(およそ30.30FPS)となります。標準のUI操作ではこの値を明示的に変更する手段は用意されていません。
標準設定が約30FPSになる理由
PowerPointはビジネス文書としての用途がメインであり、動画編集ツールとは異なる設計思想で作られています。そのため「そこそこのフレームレートで書き出せれば十分」という想定があり、特別にFPSを細かくコントロールする必要がないと考えられているわけです。
フレームレート固定のままだと困るケース
- 映画のように24FPSや23.976FPSを想定しているコンテンツで、余計なフレームが挿入される
- 海外放送やイベント用に25FPSで制作している場合、規定の30FPSだと再度再エンコードが必要になる
- 独自のテンポや演出意図を持った動画において、FPSが合わずタイミングがズレる
VBAマクロを使ってフレームレートを自由に変更する
標準UIでは不可能だが、マクロなら可能
PowerPointの画面上にある標準のエクスポート機能ではフレームレートを指定できません。しかしVBA(Visual Basic for Applications)によるマクロを利用すれば、内部APIを通じてFPSの設定を行うことができます。これはPowerPoint自体が動画生成のためのCreateVideoメソッドを提供しており、その引数としてFramesPerSecondを指定できるためです。
VBAマクロで動画を書き出すまでの手順
1. マクロ有効形式での保存
最初にプレゼンテーションファイルを「PowerPointマクロ有効プレゼンテーション(.pptm)」形式で保存しましょう。通常の.pptx形式ではマクロを含められません。
2. 開発タブの有効化
PowerPoint上部の[ファイル]→[オプション]→[リボンのユーザー設定]から[開発]タブにチェックを入れます。するとリボンメニューに[開発]タブが表示され、マクロの作成やVBAエディタの起動が可能になります。
3. マクロの作成
[開発]タブをクリックし、[マクロ]ボタンを選択。新しいマクロ名を入力して[作成]をクリックすると、VBAエディタが開きます。ここでマクロのコードを書くことができます。
4. VBAコードの貼り付け
以下はサンプルコードの一例です。Sub と End Subの間に貼り付けてください。書き出し先パス、フレームレート、解像度などを必要に応じて変更します。
Sub ExportVideoFrameRate()
If ActivePresentation.CreateVideoStatus <> ppMediaTaskStatusInProgress Then
ActivePresentation.CreateVideo FileName:=Environ("USERPROFILE") & "\OneDrive\Desktop\Test.mp4", _
UseTimingsAndNarrations:=True, _
DefaultSlideDuration:=10, _
VertResolution:=1080, _
FramesPerSecond:=25, _
Quality:=100
End If
MsgBox ("Creating Video.")
End Sub
パラメータ | 説明 |
---|---|
FileName | 書き出すファイルのパスを指定します。 |
UseTimingsAndNarrations | スライド切り替えのタイミングやナレーションを反映するかどうか。 |
DefaultSlideDuration | タイミングが設定されていないスライドの既定の表示秒数。 |
VertResolution | 垂直解像度の指定。水平解像度は自動計算されます。 |
FramesPerSecond | フレームレート。ここで25, 23.976, 24, 30など自由に指定可能。 |
Quality | 品質レベル(数値が大きいほど高品質になるが、ファイルサイズも増える)。 |
5. マクロを実行する
コードを貼り付けた後、VBAエディタの[F5]キーを押すか、またはPowerPointに戻って[開発]タブ→[マクロ]→[実行]などからマクロを呼び出します。指定した動画ファイルパスにMP4が生成され、フレームレートが反映された動画が出力されます。
フレームレート指定時の注意点とエラー対処
OneDriveやクラウド同期環境でのパス設定
近年はWindowsのデスクトップがOneDriveと同期されている場合が多く、"C:\Users\ユーザー名\OneDrive\Desktop\"
のようにフォルダ構成が変更されているケースがあります。サンプルコードでも Environ("USERPROFILE") & "\OneDrive\Desktop\Test.mp4"
のようにOneDrive配下を指定しているため、環境によってはパスを修正しないとエラーが出ることがあります。クラウド同期フォルダーでエラーが出る場合は、別のローカルフォルダー(例:"C:\temp\Test.mp4"
など)を指定すると安定しやすいでしょう。
ファイルロックエラーや実行中エラー
PowerPointの動画生成はスライド数やアニメーションの複雑さによって時間がかかる場合があります。生成中に同じファイルを開いてしまうとエラーが起きる可能性があるので注意が必要です。マクロ実行中は余計な操作をしない、あるいはファイル名を都度変えるなどの工夫を行いましょう。
23.976FPSなど小数点を含むフレームレート
VBAのFramesPerSecondプロパティに小数点を直接入力すると、PowerPoint側で自動的に丸められる可能性があります。厳密に23.976FPSを再現したい場合は、映像編集ソフトで再エンコードを行うほうがより正確です。PowerPoint単体で厳密に小数点以下3桁まで指定できるかはバージョンによって挙動が異なるため、最終的な映像を確認しながら微調整するのがよいでしょう。
高度な編集が必要な場合のアプローチ
PowerPoint書き出し後に動画編集ソフトで再エンコード
もしPowerPointのエクスポート結果をさらに細かく編集したい、あるいは複数の映像素材と組み合わせたいといった高度なニーズがある場合は、Adobe Premiere ProやDaVinci Resolveなどの動画編集ソフトで再エンコードするほうが確実です。フレームレートだけでなくビットレートやコーデック設定を含め、プロ仕様の細かい調整が可能です。
オンライン動画コンバータの利用
外部ソフトのインストールが難しい環境の場合は、オンライン上で動画変換サービスを利用する方法もあります。ただし、機密情報が含まれるプレゼンテーションでは、セキュリティリスクに留意する必要があります。また、無料サービスではファイルサイズの上限が厳しいこともあるため、用途に応じて使い分けましょう。
VBAマクロによるフレームレート指定のおすすめポイント
追加の費用がかからない
VBAマクロを使う方法は、基本的にPowerPointとVBAがあれば実現できます。外部ソフトのライセンスを購入する必要がありませんので、コストを抑えながらフレームレートを自由に設定できるのが利点です。
PowerPoint内で完結できる
プレゼンテーション自体の編集から動画生成まで、ひとつのアプリケーションで作業を完結できるというメリットがあります。VBAマクロを一度用意してしまえば、後は再利用が容易になり、ワークフローが効率化されるでしょう。
簡易アニメーションや社内用資料に最適
大規模なプロモーション動画やCMを作成するときはプロ向けツールが必要かもしれませんが、社内外向けプレゼン資料や簡易的なデモ映像であれば、PowerPointのVBAだけで十分な画質とフレームレートが確保できます。
よくある質問(FAQ)
Q1. フレームレートを高く(60FPSなど)設定したらどうなる?
A. PowerPointのCreateVideoメソッドはバージョンやPCスペックによって60FPSまで設定できるかどうか挙動が異なる場合があります。設定できたとしても、元のスライドアニメーションが秒数ベースで処理されるため、期待するほどの滑らかさにならない可能性もあります。試しに出力し、実際に再生して確認するのがよいでしょう。
Q2. 音声やナレーションは再生される?
A. コード内でUseTimingsAndNarrations:=Trueと指定している場合、スライドに挿入したオーディオやナレーションも動画に含まれます。PowerPointの既定の切り替えタイミングやアニメーションとともに書き出されるので、音声付きのプレゼン動画を手軽に作成できます。
Q3. スライドの切り替えタイミングをアニメーションに合わせたい
A. PowerPointのトランジション設定やアニメーションタブでしっかりと秒数を指定した上で、UseTimingsAndNarrationsをTrueにすると、その時間設定を尊重して動画が生成されます。DefaultSlideDurationを変更する必要があるのは、スライドごとの切り替えタイミングが設定されていない場合だけです。
Q4. Mac版のPowerPointでも同じことができる?
A. Mac版PowerPointではVBAのCreateVideoメソッドが一部サポートされていない、もしくは機能が制限されている場合があります。実際にMac版で試せない場合は、Windows環境で作成した動画を共有するか、別の動画編集手段を用意するのが安全です。Microsoft 365のオンライン版でも詳細なVBAマクロは動作しないため、Windowsデスクトップ版での運用が最も確実といえます。
まとめ
PowerPointはプレゼンテーションソフトとしての便利さが際立ちますが、動画としての書き出し機能にはフレームレート指定など一部制限が見られます。とはいえ、VBAマクロを活用すれば細かなFPS調整ができるため、たとえば映画感を出したい動画や海外放送規格用のファイルを作りたいときなどに重宝します。外部ソフトの導入コストを抑えつつ、自由度の高い動画制作を行うためにも、マクロの存在を理解しておくことは大きなメリットです。ぜひ今回の方法を試して、クオリティの高い動画プレゼンを作成してみてください。
コメント