0
Ich versuche, zwei gleiche Formen zu einem zusammenführen mit Union-Eigenschaft. Beim Kompilieren des Codes wird die Methode 'executemso' des Objekts 'Befehlsleiste' nicht angezeigt. Ich bin neu in vba, also wäre es toll, wenn mir jemand helfen würde, das zu beheben.Zwei Formen verschmelzen als Union mit VBA in PowerPoint
Sub ShapesUnion()
Dim sld As Slide
Dim shp As Shape
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
If shp.Fill.Type = msoFillSolid Then
With shp.Duplicate
.Left = shp.Left
.Top = shp.Top
End With
End If
shp.Select
CommandBars.ExecuteMso ("ShapesUnion")
Next
Next
End Sub
einfach es übrigens kompilieren würde auch nicht. Ihr Code hätte ZILLIONEN von Formen erstellt und ausgeführt, bis Ihr Computer umgefallen ist. Du duplizierst jede gefüllte Form auf der Folie, aber wenn du sie duplizierst, erschaffst du eine andere gefüllte Form ... die du dann duplizieren und anonst. In der Auswahllinie wird nur die zuletzt erstellte Form ausgewählt, nicht zwei Formen, die für die Zusammenführung erforderlich sind. Erstellen Sie stattdessen ein Array oder eine Sammlung der ausgefüllten Volumenkörperformen auf der Folie, und durchlaufen Sie dann das Array/die Kollektion, um die Shapes nacheinander zu verarbeiten. –