スライド(フォーマット、背景、写真などを含む)を同じ/別のPowerPointドキュメントにコピーする方法

普段PowerPointを使っている時、時々中のスライドをコピーしたい場合がありますね。通常、スライドをコピーするには、以下の二つの状況があります:

・同じPowerPointドキュメント内でコピー

・とあるPowerPointドキュメントから別のPowerPointドキュメントへコピー

Microsoft PowerPointでスライドをコピーすることが非常に簡単で、ただ操作したいスライドを選択して、コピー/貼り付け二つの手順だけで完成します。しかし、プログラマーとして、必ずプログラミングの方法でそれを完成しなければならないですね。このあとはC#の無料PowerPointコンポーネント、Free Spire.Presentation for .NETを使用して、同じPowerPointドキュメント内でコピー、およびとあるPowerPointドキュメントから別のPowerPointドキュメントへコピーする方法を紹介します。

まずは二つのPowerPointドキュメントを用意します、そのうちの一つは文字、画像、背景色などの内容を含んでいます。以下のようになります。

f:id:uha_noki:20210930122001p:plain

同じPowerPointドキュメント内でコピー

このPowerPointドキュメントの1ページ目のスライドを2ページ目の位置にコピーする:

using Spire.Presentation;

 

namespace スライドをコピー

{

    class Program

    {

        static void Main(string args)

        {

            //PowerPointドキュメントをロードする

            Presentation PowerPoint = new Presentation();

            PowerPoint.LoadFromFile("sample.Pptx");

            //コピーしたいスライドを取得する

            ISlide slide = PowerPoint.Slides[0];

            int index = 1;

            //そのスライドをコピーして指定された位置に挿入する

            PowerPoint.Slides.Insert(index, slide);

            //ドキュメントを保存する

            PowerPoint.SaveToFile("エクスポート.Pptx", Spire.Presentation.FileFormat.Pptx2010);

            System.Diagnostics.Process.Start("エクスポート.Pptx");

        }

    }

}

実行の結果を示します:

f:id:uha_noki:20210930122028p:plain

とあるPowerPointドキュメントから別のPowerPointドキュメントへコピー

こちらのコードは前の部分とよく似ていますので、もう一つのPowerPointドキュメントをロードすればよいです。

using Spire.Presentation;

 

namespace スライドをコピー

{

    class Program

    {

        static void Main(string args)

        {

            //1番目のPowerPointドキュメントをロードする

            Presentation PowerPoint = new Presentation();

            PowerPoint.LoadFromFile("sample.Pptx");

            //コピーしたいスライドを取得する

            ISlide slide = PowerPoint.Slides[0];

            //次のPowerPointドキュメントをロードする

            Presentation PowerPoint1 = new Presentation();

            PowerPoint1.LoadFromFile("sample1.Pptx");

            //スライドを1番目のPowerPointドキュメントから2番目の指定された位置にコピー          

            int index = 1;

            PowerPoint1.Slides.Insert(index, slide);

            //ドキュメントを保存する          

            PowerPoint1.SaveToFile("エクスポート1.Pptx", Spire.Presentation.FileFormat.Pptx2010);

            System.Diagnostics.Process.Start("エクスポート1.Pptx");

        }

    }

}

実行の結果を示します:

f:id:uha_noki:20210930122122p:plain

いかがでしょうか?実に簡単でしょう、今回のシェアはここまでです、また!