Ich muss in PowerPoint 2007 jede Form einer Smart-Art durchgehen. Wenn shape.Type=msoSmartArt
dann könnte ich einfach durch die Formen in shape.GroupItems gehen.
Wenn jedoch shape.Type == msoPlaceholder && shape.PlaceholderFormat.ContainedType==msoSmartArt
dann shape.GroupItems
leer ist. Wie kann ich in einem solchen Fall auf die Smart Art-Formen zugreifen?
Ich dachte immer, dass VBA und C# VSTO im Grunde dasselbe sind.
Nun - hier gibt es einen Unterschied. Ich habe Otakus Code in aktuellem VBA ausprobiert und es scheint tatsächlich zu funktionieren (sorry für die Verwirrung, Otaku).
Allerdings ist mein Programm in C# VSTO, und:
foreach (Shape slideShape in pres.Slides[1].Shapes)
{
if (slideShape.Type != MsoShapeType.msoSmartArt && !(slideShape.Type == MsoShapeType.msoPlaceholder && slideShape.PlaceholderFormat.ContainedType==MsoShapeType.msoSmartArt))
continue;
GroupShapes shapes=slideShape.GroupItems;
Debug.WriteLine(shapes.Count);
}
Produziert: shapes.Count=0
(wenn der Formtyp "Platzhalter" und der Typ "enthalten" "SmartArt" ist).
Irgendwelche Ideen?