私は最近、PowerPoint プレゼンテーションを自動的に生成することを期待して、OpenXML SDK を掘り下げ始めました。プロセス全体が苦痛であることに気づき、週末の大部分と最後の 2 日間を生の SDK 呼び出しを処理するライブラリの生成に費やしました。生成プロセス中はすべて問題なく動作しているようで、Open XML SDK Productivity Tool でコードが正しいことを検証できます。ただし、PowerPoint でファイルを開くと、ファイルを開く前にファイルを修正するように求めるダイアログ ボックスが表示されます。
このコードはすべて、PowerPoint で作成したファイルから反映したものからリファクタリングされています。/ppt/slideLayouts/slideLayouts/
生産性向上ツールでこれらのパッケージとの違いを実行すると、スライド レイアウト (最初のものを除く) が であるのに対し、正しいプレゼンテーションでは であることがわかりました/ppt/slideLayouts/
。生成コードをトリプルチェックしたところ、SlideLayout がPresentationPart
ではなく に追加されましたSlideLayoutPart
。最初のレイアウトは正しい場所にあり、その後のレイアウトはそうでないため、特に奇妙です。
MSDN のドキュメントと、Wouter van Vugt による Open XML の電子書籍を読みました。自分のコードを反映されたコードと比較したところ、正しいように見えました (ただし、Open XML に慣れていないことと、PresentationML の複雑さを考慮すると、多くのことを見逃している可能性があります)。ここで何が起こっているのかについての洞察を持っている人はいますか?