3

参照されていないスライド マスターを消去するために、スライド マスターの保持属性を使用しようとしています。

私の目的は、プレゼンテーション内のすべてのスライド (スライドが 1 つだけ) をベース プレゼンテーション (スライドが 1 つだけ) に複製し、複製されたスライドのレイアウトをベース プレゼンテーションのレイアウトに変更することです。

私が取ったアプローチは、

(ベース プレゼンテーションは B、クローン プレゼンテーションは C で示されます)

Cのスライドのスライド部分をBにコピーします。

C のマスターを B にコピーします。

新しくコピーしたマスターで SlideMaster.Preserve 属性を false に設定します。

B で新しく追加されたスライド パーツの既存のレイアウト パーツを削除します (C から複製されたスライド)。

新しく追加したスライド パーツに、必要なレイアウト パーツを B から追加します。

LayoutId をトラバースし、一意の値が含まれるように並べ替えます。

しかし、結果のファイルを開くと、C からコピーされた MasterSlide への参照はありませんが、まだ存在しています。

注: 同じコード スニペットでレイアウト スライドを変更しますが、実際には別の実行パスで実行されるため、C の MasterSlides に対処しないという選択肢はありません。

ベースプレゼンテーション (B) ここに画像の説明を入力

ベースのマスタースライド ここに画像の説明を入力

クローンプレゼンテーション (C) ここに画像の説明を入力

クローン プレゼンテーションのマスター スライド ここに画像の説明を入力

結果出力 ここに画像の説明を入力

出力のマスタースライド ここに画像の説明を入力

2 番目のマスター スライドへの参照はありませんが、preserve 属性を false に設定した後でも優先されます。

コード サンプルは Post2.zip からダウンロードできます

Post2 のファイル:

BaseSlide.pptx (ベースプレゼンテーション)

ToBeCloned.pptx (クローン プレゼンテーション)

Out2.pptx (結果のプレゼンテーション)

どんな助けでも大歓迎です。ありがとう。

4

0 に答える 0