Öffentliches API und rückwärts inkompatible Änderungen in Aspose.Slides für .NET 14.8.0
Änderungen in der öffentlichen API
Geänderte Eigenschaften
IVbaProject-Interface hinzugefügt, Presentation.VbaProject-Eigenschaft geändert
Die VbaProject-Eigenschaft der Presentation-Klasse wurde ersetzt. Anstelle der rohen Byte-Darstellung des VBA-Projekts durch die VbaProject-Eigenschaft wurde die neue Implementation des IVbaProject-Interfaces hinzugefügt.
Verwenden Sie die IVbaProject-Eigenschaft, um VBA-Projekte zu verwalten, die in einer Präsentation eingebettet sind. Sie können neue Projektverweise hinzufügen, vorhandene Module bearbeiten und neue erstellen.
Außerdem können Sie ein neues VBA-Projekt mit der VbaProject-Klasse erstellen, die das IVbaProject-Interface implementiert.
Das folgende Beispiel zeigt die Erstellung eines einfachen VBA-Projekts, das ein Modul enthält und zwei erforderliche Verweise auf die Bibliotheken hinzufügt.
using (Presentation pres = new Presentation())
{
// Neues VBA-Projekt erstellen
pres.VbaProject = new VbaProject();
// Leeres Modul zum VBA-Projekt hinzufügen
IVbaModule module = pres.VbaProject.Modules.AddEmptyModule("Modul");
// Quellcode des Moduls festlegen
module.SourceCode =
@"Sub Test(oShape As Shape)
MsgBox ""Test""
End Sub";
// Referenz auf <stdole> erstellen
VbaReferenceOleTypeLib stdoleReference =
new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");
// Referenz auf Office erstellen
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");
// Verweise zum VBA-Projekt hinzufügen
pres.VbaProject.References.Add(stdoleReference);
pres.VbaProject.References.Add(officeReference);
pres.Save("test.pptm", SaveFormat.Pptm);
}
Dieses Beispiel zeigt, wie man ein VBA-Projekt von einer vorhandenen Präsentation in eine neue kopiert.
using (Presentation pres1 = new Presentation("PresentationWithMacroses.pptm"), pres2 = new Presentation())
{
pres2.VbaProject = new VbaProject(pres1.VbaProject.ToBinary());
}
Hinzugefügte Interfaces, Eigenschaften und Enumerationsoptionen
Die Eigenschaft Aspose.Slides.Charts.IChartSeries.Overlap hinzugefügt
Die Eigenschaft Aspose.Slides.Charts.IChartSeries.Overlap gibt an, wie viel sich Balken und Säulen in 2D-Diagrammen überschneiden sollen (von -100 bis 100).
Dies ist die Eigenschaft nicht nur dieser Serie, sondern aller Serien in der übergeordneten Seriengruppe - dies ist eine Projektion der entsprechenden Gruppen-Eigenschaft. Daher ist diese Eigenschaft schreibgeschützt.
- Verwenden Sie die Eigenschaft ParentSeriesGroup, um auf die übergeordnete Seriengruppe zuzugreifen.
- Verwenden Sie die lese-/schreibbare Eigenschaft ParentSeriesGroup.Overlap, um den Wert zu ändern.
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;
}
}
Die Eigenschaft Aspose.Slides.Charts.IChartSeriesGroup.Overlap hinzugefügt
Die Eigenschaft Aspose.Slides.Charts.IChartSeriesGroup.Overlap gibt an, wie viel sich Balken und Säulen in 2D-Diagrammen überschneiden sollen (von -100 bis 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;
}
Enum-Wert ShapeThumbnailBounds.Appearance hinzugefügt
Dieses Verfahren zur Erstellung von Form-Thumbs ermöglicht Ihnen die Generierung eines Form-Thumbs in den Grenzen ihres Erscheinungsbildes. Es berücksichtigt alle Formeffekte. Der generierte Form-Thumb ist durch die Foliengrenzen eingeschränkt.
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);
}