0
我試圖通過使用聯合屬性合併兩個相同的形狀。在編譯代碼時,它顯示對象'commandbar'的方法'executemso'失敗。我是vba的新手,如果有人幫我解決這個問題,那將會很棒。兩個形狀合併爲使用vba的聯合在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
一樣好就不會被編譯的方式。你的代碼會創建幾百個形狀並運行,直到你的計算機崩潰。您正在複製幻燈片上的每個填充形狀,但是複製它之後,您將創建另一個填充的形狀......然後將其複製並粘貼。 .Select線只會選擇最近創建的形狀,而不是合併所需的兩個形狀。相反,請在幻燈片上創建一個實體填充形狀的數組或集合,然後遍歷數組/集合以一次處理一個形狀。 –