プレゼンテーションのSmartArtは、視覚的な形式で情報を提供するために使用されます。場合によっては、単純なテキストをより魅力的にすることが選択されます。一方、その他の場合は、フロー図、プロセス、さまざまなエンティティ間の関係などを示すために使用されます。この記事では、C#を使用してプログラムでPowerPointプレゼンテーションにSmartArtを作成する方法を学習します。
- PowerPointでSmartArtを作成するための.NET API
- PowerPointでSmartArtシェイプを作成する
- PowerPointでSmartArtシェイプにアクセスする
- 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);
}
次のスクリーンショットは、上記のコードサンプルの出力を示しています。
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.ColorStyle、ISmartArt.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の詳細を確認できます。また、フォーラムから質問することもできます。