PowerPointのVBAを使ってスライドを自動編集した後、「元に戻す」機能を使って変更を取り消せないと思っていましたが、状況によっては可能な場合もあるようです。
一般的に、ExcelのVBAでは「元に戻す」機能が利用できませんが、WordやPowerPointとは挙動が異なります。
内容
確認のPowerPointは「Microsoft® PowerPoint® for Microsoft 365 MSO」(バージョン2505)です。
実際に検証した事例
次のコード(スライド番号を挿入するマクロ)を実行後、Ctrl + Z を押すとマクロ実行前の状態に戻ることを確認しました。
ただし、実行した個々の操作を一つずつ元に戻すことはできませんでした。
また、次のExcelのVBAでPowerPointを操作したときも、「元に戻す」機能は有効でした。
VBA実行後に「元に戻す」の上限数について
VBA実行後に「元に戻す」が適用できる回数の上限は明確には分かっていません。
PowerPointの詳細設定で指定する「元に戻す操作の最大数」を超える操作を行っても、マクロ実行前の状態に戻すことが可能でした。これは、「マクロの実行」が1つの操作としてカウントされるためと考えられます。
ただし、操作回数が増えるほど「元に戻す」に要する処理時間も長くなるため、大規模な変更を行う際は注意が必要です。
なお、Wordのマクロは個々の操作で元に戻すことが可能ですが、「元に戻す操作の最大数」に準じます。
「元に戻す」を確実に行うためのポイント
上述のとおり、PowerPointのマクロ実行後に「元に戻す」機能が適用できる場合がありますが、その仕様の詳細に関する情報は見つかりませんでした。
いずれにしても、万が一「元に戻す」ができない場合に備え、事前にスライドのバックアップを取ることが重要です。
以上、PowerPointのVBA実行後に「元に戻す」ができた事例でした。