Aspose.Slides for .NET 14.8.0におけるパブリックAPIと後方互換性のない変更
パブリックAPIの変更
変更されたプロパティ
IVbaProjectインターフェイスを追加し、Presentation.VbaProjectプロパティを変更
PresentationクラスのVbaProjectプロパティは置き換えられました。VBAプロジェクトの生のバイト表現の代わりに、新しいIVbaProjectインターフェイスの実装が追加されました。
IVbaProjectプロパティを使用して、プレゼンテーションに埋め込まれたVBAプロジェクトを管理します。新しいプロジェクト参照を追加したり、既存のモジュールを編集したり、新しいモジュールを作成したりできます。
また、IVbaProjectインターフェイスを実装したVbaProjectクラスを使用して新しいVBAプロジェクトを作成することもできます。
次の例は、1つのモジュールを含むシンプルなVBAプロジェクトを作成し、ライブラリに必要な2つの参照を追加する方法を示しています。
using (Presentation pres = new Presentation())
{
// 新しいVBAプロジェクトを作成
pres.VbaProject = new VbaProject();
// VBAプロジェクトに空のモジュールを追加
IVbaModule module = pres.VbaProject.Modules.AddEmptyModule("Module");
// モジュールのソースコードを設定
module.SourceCode =
@"Sub Test(oShape As Shape)
MsgBox ""Test""
End Sub";
// <stdole>への参照を作成
VbaReferenceOleTypeLib stdoleReference =
new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");
// Officeへの参照を作成
VbaReferenceOleTypeLib officeReference =
new VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library");
// VBAプロジェクトに参照を追加
pres.VbaProject.References.Add(stdoleReference);
pres.VbaProject.References.Add(officeReference);
pres.Save("test.pptm", SaveFormat.Pptm);
}
この例は、既存のプレゼンテーションから新しいプレゼンテーションにVBAプロジェクトをコピーする方法を示しています。
using (Presentation pres1 = new Presentation("PresentationWithMacroses.pptm"), pres2 = new Presentation())
{
pres2.VbaProject = new VbaProject(pres1.VbaProject.ToBinary());
}
追加されたインターフェイス、プロパティおよび列挙オプション
Aspose.Slides.Charts.IChartSeries.Overlapプロパティを追加
Aspose.Slides.Charts.IChartSeries.Overlapプロパティは、2Dチャート上でのバーとコラムの重なり具合を指定します(-100から100までの範囲)。
これはこの系列だけでなく親系列グループ内のすべての系列のプロパティです - これは該当するグループプロパティの投影です。このため、このプロパティは読み取り専用です。
- ParentSeriesGroupプロパティを使用して親系列グループにアクセスします。
- ParentSeriesGroup.Overlapの読み書き可能なプロパティを使用して値を変更します。
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 600, 400, true);
IChartSeriesCollection series = chart.ChartData.Series;
if (series[0].Overlap == 0)
{
series[0].ParentSeriesGroup.Overlap = -30;
}
}
Aspose.Slides.Charts.IChartSeriesGroup.Overlapプロパティを追加
Aspose.Slides.Charts.IChartSeriesGroup.Overlapプロパティは、2Dチャート上でのバーとコラムの重なり具合を指定します(-100から100まで)。
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 600, 400, true);
IChartSeriesCollection series = chart.ChartData.Series;
series[0].ParentSeriesGroup.Overlap = -30;
}
ShapeThumbnailBounds.Appearance列挙値を追加
この形状サムネイル作成の方法では、形状の外観の範囲内で形状サムネイルを生成できます。すべての形状効果を考慮に入れます。生成された形状サムネイルはスライドの範囲に制限されます。
using (Presentation p = new Presentation("Presentation.pptx"))
{
Bitmap st = p.Slides[0].Shapes[0].GetThumbnail(ShapeThumbnailBounds.Appearance, 1, 1);
st.Save("ShapeThumbnail.png", ImageFormat.Png);
}