プレゼンテーションのSmartArtは、視覚的な形式で情報を提供するために使用されます。場合によっては、単純なテキストをより魅力的にすることが選択されます。一方、その他の場合は、フロー図、プロセス、さまざまなエンティティ間の関係などを示すために使用されます。この記事では、C#を使用してプログラムでPowerPointプレゼンテーションにSmartArtを作成する方法を学習します。

PowerPointでSmartArtを作成するための.NET API

PowerPointプレゼンテーションでSmartArtを操作するには、Aspose.Slides for .NETを使用します。これは、PowerPointおよびOpenOfficeプレゼンテーションを作成および操作するための強力なクラスライブラリです。 APIは、NuGetまたはダウンロードそのDLLを介してインストールできます。

PM> Install-Package Aspose.Slides.NET

C#を使用してPowerPointでSmartArtシェイプを作成する

Aspose.Slides for .NETは、プレゼンテーションでSmartArt図形を作成する最も簡単な方法を提供します。デモンストレーションとして、C#を使用してPowerPointプレゼンテーションでSmartArt図形を最初から作成してみましょう。

  • Presentationクラスを使用して、新しいプレゼンテーションを作成するか、既存のプレゼンテーションをロードします。
  • ISlideオブジェクトへの目的のスライドの参照を取得します。
  • ISlide.Shapes.AddSmartArt()メソッドを使用してSmartArtを作成します。
  • Presentation.Save(String, SaveFormat)メソッドを使用して、更新されたプレゼンテーションを保存します。

次のコードサンプルは、PowerPointプレゼンテーションでSmartArt図形を作成する方法を示しています。

// プレゼンテーションを作成するか、既存のプレゼンテーションをロードします
using (Presentation pres = new Presentation())
{
    // プレゼンテーションスライドにアクセスする
    ISlide slide = pres.Slides[0];

    // SmartArtシェイプを追加する
    ISmartArt smart = slide.Shapes.AddSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList);
    smart.AllNodes[0].TextFrame.Text = "First Block";
    smart.AllNodes[1].TextFrame.Text = "Second Block";
    
    // プレゼンテーションを保存する
    pres.Save("SimpleSmartArt_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

次のスクリーンショットは、上記のコードサンプルの出力を示しています。

PowerPoint C#でSmartArtを作成する

C#を使用してPowerPointでSmartArtシェイプにアクセスする

既存のPowerPointプレゼンテーションのSmartArt図形にアクセスすることもできます。アクセスしたら、必要に応じて変更できます。以下は、C#を使用してPowerPointプレゼンテーションのSmartArt図形にアクセスするための手順です。

  • Presentationクラスを使用して、新しいプレゼンテーションを作成するか、既存のプレゼンテーションをロードします。
  • ISlideオブジェクトへの目的のスライドの参照を取得します。
  • ISlide.Shapesコレクションを使用して、スライド内の図形をループします。
  • 形状のタイプがISmartArtの場合、その参照をISmartArtオブジェクトに取得します。
  • 必要に応じて、ISmartArt.Layoutプロパティを使用して、特定のレイアウトのSmartArt図形をフィルタリングします。

次のコードサンプルは、PowerPointプレゼンテーションでSmartArt図形にアクセスする方法を示しています。

// プレゼンテーションを読み込む
using (Presentation pres = new Presentation("AccessSmartArtShape.pptx"))
{{
    // 目的のスライド内のすべての形状を繰り返します
    foreach (IShape shape in pres.Slides[0].Shapes)
    {{
        // 形状がSmartArtタイプかどうかを確認します
        if (shape is ISmartArt)
        {{
            // SmartArtへのタイプキャストシェイプ
            ISmartArt smart = (ISmartArt)shape;
            System.Console.WriteLine("Shape Name:" + smart.Name);
            
            // SmartArtレイアウトの確認
            //if(smart.Layout == SmartArtLayoutType.BasicBlockList)
            //{{
            //   Console.WriteLine( "ここで何かを行う....");
            //}
        }
    }
}

C#を使用してSmartArtShapeのスタイルを変更する

SmartArt図形にアクセスすると、そのスタイルも変更できます。次の手順は、C#を使用してPowerPointプレゼンテーションのSmartArt図形のスタイルを変更する方法を示しています。

  • Presentationクラスを使用して、新しいプレゼンテーションを作成するか、既存のプレゼンテーションをロードします。
  • ISlideオブジェクトへの目的のスライドの参照を取得します。
  • ISlide.Shapesコレクションを使用して、スライド内の図形をループします。
  • 形状のタイプがISmartArtの場合、その参照をISmartArtオブジェクトに取得します。
  • 目的のスタイルを変更します。つまり、ISmartArt.ColorStyleISmartArt.QuickStyleなどです。
  • Presentation.Save(String, SaveFormat)メソッドを使用して、更新されたプレゼンテーションを保存します。

次のコードサンプルは、PowerPointプレゼンテーションでSmartArt図形のスタイルを変更する方法を示しています。

// プレゼンテーションを読み込む
using (Presentation presentation = new Presentation("AccessSmartArtShape.pptx"))
{
    // 最初のスライド内のすべての形状をトラバースします
    foreach (IShape shape in presentation.Slides[0].Shapes)
    {
        // 形状がSmartArtタイプかどうかを確認します
        if (shape is ISmartArt)
        {
            // SmartArtへのタイプキャストシェイプ
            ISmartArt smart = (ISmartArt)shape;

            // SmartArtスタイルを確認する
            if (smart.QuickStyle == SmartArtQuickStyleType.SimpleFill)
            {
                // SmartArtスタイルを変更する
                smart.QuickStyle = SmartArtQuickStyleType.Cartoon;
            }
            
            // SmartArtカラータイプを確認してください
            if (smart.ColorStyle == SmartArtColorType.ColoredFillAccent1)
            {
                // SmartArtの色の種類を変更する
                smart.ColorStyle = SmartArtColorType.ColorfulAccentColors;
            }
        }
    }

    // プレゼンテーションを保存
    presentation.Save("ChangeSmartArtStyle_out.pptx", SaveFormat.Pptx);
}

無料のAPIライセンスを取得する

無料の一時ライセンスを取得して、評価の制限なしにAspose.Slides for .NETを使用してください。

結論

この記事では、C#を使用してPowerPointプレゼンテーションでSmartArtを作成する方法を学習しました。さらに、SmartArtシェイプにアクセスし、プログラムでスタイルを変更する方法を見てきました。 ドキュメントを調べて、Aspose.Slides for .NETの詳細を確認できます。また、フォーラムから質問することもできます。

関連項目