Мне нужно пройти через каждую форму smart-art в PowerPoint 2007. Когда shape.Type=msoSmartArt
, тогда я мог бы просто пройти через формы в shape.GroupItems.
Однако, когда shape.Type == msoPlaceholder && shape.PlaceholderFormat.ContainedType==msoSmartArt
затем shape.GroupItems
пусто.Как я могу получить доступ к формам Smart Art в таком случае?
Я привык думать, что VBA и C # VSTO в основном одинаковы.
Что ж, здесь есть разница.Я попробовал код Отаку в реальном VBA, и он действительно, кажется, работает (извините за путаницу, Отаку).
Тем не менее, моя программа находится в C # VSTO, и:
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);
}
Производит: shapes.Count=0
(когда типом фигуры является метка-заполнитель, а внутренним типом является SmartArt).
Есть идеи?