プレゼンテーションに多くのメタデータを保存する PowerPoint VSTO アドインを作成しています。
私は現在AddIn.Application.ActivePresentation.CustomXMLParts
、グローバル データとSlide.CustomerData
スライド固有の情報を操作するために XML として保存しています。
問題は、どちらも Undo/Redo スタックに表示されないことです。プレゼンテーションに何兆もの変更を加え、カスタム XML を途中で変更し、すべてを元に戻して、最後に設定した XML を読み戻すことができます。
変更を元に戻す/やり直し可能にしたいので、考えられる最善の方法は、XML を Shape に保存し、変更のたびにそれを削除して再作成することです。これに関する問題は、ユーザーがシェイプまたはシェイプが保存されているスライドを無意識に削除できることです。
目に見えないもの (偶発的な削除を防ぐため) と、できればグローバルなオブジェクトが必要です。これは、削除可能/再作成可能で、元に戻す/やり直しスタックを変更する XML を格納できるプレゼンテーション上のオブジェクトです。
このようなものはありますか?
または、これを行うより良い方法はありますか?