0
私はunionプロパティを使って2つの同じ図形を1つにマージしようとしています。コードをコンパイルすると、オブジェクト 'commandbar'のメソッド 'executemso'が失敗しました。私はvbaで新しくなっているので、誰かが私にこれを解決させる助けがあれば素晴らしいだろう。パワーポイントでvbaを使用して2つの図形をマージすると、
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
だけだけでなく、それは仕方によってコンパイルされないでしょう。あなたのコードは、形状のZILLIONSを作成し、コンピュータが落ちるまで実行します。スライド上に塗りつぶされた図形を複製していますが、複製する際に別の塗りつぶしの図形を作成しています。 .Select行は、マージに必要な2つの図形ではなく、最も最近作成された図形のみを選択します。代わりに、スライド上に塗りつぶした立体図形の配列またはコレクションを作成し、配列/コレクションをステップ実行して一度に1つの図形を処理します。 –