Ошибка: «Указанный тип данных недоступен» При вставке фигур в формате PNG в PowerPoint
Мне нужно написать макрос, чтобы преобразовать все сгруппированные диаграммы (фигуры, стрелки и текст) в презентации PPT в PNG. (Я конвертирую PPT с использованием некоторого программного обеспечения для электронного обучения, и диаграммы оказываются поврежденными; мне нужно, чтобы они были PNG, потому что расширенные метафайлы также представляют проблемы).
Я использовал немного измененный код из макроса, который преобразует изображения (расширенные метафайлы) в PNG. Все, что я сделал, это изменил msoPicture на msoGroup:
Sub ConvertAllPicsToPNG()
Dim oSl As Slide
Dim oSh As Shape
For Each oSl In ActivePresentation.Slides
For Each oSh In oSl.Shapes
' modify the following depending on what you want to
' convert
Select Case oSh.Type
Case msoGroup
ConvertPicToPNG oSh
Case Else
End Select
Next
Next
End Sub
Sub ConvertPicToPNG(ByRef oSh As Shape)
Dim oNewSh As Shape
Dim oSl As Slide
Set oSl = oSh.Parent
oSh.Copy
Set oNewSh = oSl.Shapes.PasteSpecial(ppPastePNG)(1)
With oNewSh
.Left = oSh.Left
.Top = oSh.Top
Do
.ZOrder (msoSendBackward)
Loop Until .ZOrderPosition = .ZOrderPosition
End With
oSh.Delete
End Sub
Я получаю сообщение об ошибке "Shapes (unknown member)"
Set oNewSh = oSl.Shapes.PasteSpecial(ppPastePNG)(1)
Я подозреваю, что у меня есть проблемы с объектной эталонной моделью VBA, поскольку исследования рассказали мне о GroupItems и GroupShapes, но я не могу понять это.