Я ищу способ перестроить код VBA, который мне нужен для создания определенного визуала в PowerPoint.
Для примера скажем, я хочу создать код для создания этого:
Сейчас я написал следующий VBA код, который позволяет выделять фигуры, используемые в powerpoint:
Sub ListAllShapes()
Dim curSlide As Slide
Dim curShape As Shape
For Each curSlide In ActivePresentation.Slides
Debug.Print curSlide.SlideNumber
For Each curShape In curSlide.Shapes
MsgBox curShape.Name
Next curShape
Next curSlide
End Sub
Если я запускаю это на своем примере, я получаю следующий вывод:
Autoshape 7
Однако, когда Затем я ищу здесь Shape.name: https://docs.microsoft.com/en-us/office/vba/api/office.msoautoshapetype Я вижу, что Autoshpape 7 - это msoShapeIsoscelesTriangle. Если я затем вставлю следующий код:
Sub InsertShape()
Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes.AddShape Type:=msoShapeIsoscelesTriangle, _
Left:=50, Top:=50, Width:=100, Height:=200
End Sub
Я получу другой график, есть мысли о том, где я иду не так?