質問

テンプレートからPowerPoint 2007プレゼンテーションを作成する必要があります XMLフォーマットSDK 2.0を開きます. 。テンプレートは顧客が提供する必要があり、個々のレイアウトスタイル(フォント、背景色、または画像など)に使用されます。 2つの事前定義されたスライドを含める必要があります。

  • テキストスライド
  • 画像スライド

アプリケーションは、テンプレートファイルのコピーを作成し、テキストスライドと画像スライドの複数のコピーを作成し、コンテンツプレイスホルダーをいくつかのコンテンツに置き換える必要があります。

私はすでにいくつか見つけました Microsoftのコードスニペット スライドのタイトルを編集するには、それらを削除するか、スライド上の画像を置き換えます。しかし、既存のスライドのコピーをどのように作成できるかわかりませんでした。多分誰かがこれで私を助けることができます。

役に立ちましたか?

解決

私は同様の答えを探していて、共有するリソースを見つけました。

http://msdn.microsoft.com/en-us/library/cc850834(office.14).aspx

またはそれ以上のサンプル

http://msdn.microsoft.com/en-us/library/cc850828(office.14).aspx

またはこのウェブサイト

http://www.openxmldeveloper.com

これもあります OpenXML標準を記録した無料の本 それはやや役に立ちました。

他のヒント

これは私があなたが探しているものの例ですが、そうでない場合は私に知らせてください: http://openxmldeveloper.org/articles/7429.aspx

C#の場合

File.Copy(SourceFile,ExportedFile);

基本的に元のファイルを保持します。

これで、ExportedFileを開きます

PowerPoint.Application ppApp = new PowerPoint.Application();
PowerPoint.Presentation presentation;
presentation = ppApp.Presentations.Open(ExportedFile, MsoTriState.msoFalse,   MsoTriState.msoTrue, MsoTriState.msoTrue);

これで、すべてのスライド/形状を反復します

foreach (PowerPoint.Slide slide in presentation.Slides)
{
                    slide.Select();
                    foreach (PowerPoint.Shape shape in slide.Shapes)
                    {
                        if (shape.Type.ToString().Equals("<any type of shape>"))
                        {
                            if (shape.TextFrame.TextRange.Text.Equals("<contains a name"))
                            {
                                shape.TextFrame.TextRange.Text = <new value>;
                                shape.Delete(); // or delete
                                shape.AddPicture(<your new picture>, MsoTriState.msoTrue, MsoTriState.msoTrue, left, top, width, height);

                            }
                        }
                    }

}

これがあなたの要求を明確にすることを願っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top