指定した Solidworks 図面で不要な詳細ビューを削除する必要がありますが、レイト バインディングを使用する必要があります。最初に機能ツリーから詳細ビューを削除しようとしましたが、スケッチした円を残して詳細ビューのみが削除されます。次に、図面の詳細図を削除しますが、結果は同じです。次に、詳細ビューの円、同じ結果。最後に、スケッチした円を削除しようとしましたが、特定の円が選択されません。このコードを Solidworks API でコンパイルすると、すべてが正しく機能しますが、Excel VBA でコンパイルすると、この奇妙なことが起こります。これは遅延バインディングに関連している疑いがあります。助言がありますか?
Dim SwApp
On Error Resume Next
Set SwApp = GetObject(, "SldWorks.Application")
'If Solidworks is not started then start it
If Err.Number <> 0 Then
Set SwApp = CreateObject("SldWorks.Application")
End If
SwApp.Visible = True
Dim InitialDrawing2 As Object
Set InitialDrawing2 = SwApp.Opendoc(FormatSketchTemplateFolder & "FormatSketch+Tray.SLDDRW", 3)
Dim Status As Boolean
Status = InitialDrawing2.Extension.SelectByID2("Detail Circle2", "DETAILCIRCLE", 0, 0, 0, False, 0, Nothing, 0)
InitialDrawing2.EditDelete
Status = InitialDrawing2.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
InitialDrawing2.EditDelete