Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swAssy As SldWorks.AssemblyDoc
Dim swComp As SldWorks.Component2
Dim swDocSpec As SldWorks.DocumentSpecification
Dim sAssyName As String
Dim nErr As Long
Option Explicit
Sub main()
On Error GoTo errH 'redirects to error handler to reset part visibility on error
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swAssy = swModel: Debug.Assert Not swAssy Is Nothing 'assembly should be open
sAssyName = swModel.GetTitle 'store assembly title
Set swModel = Nothing 'swModel reused for opened part
'setup document specification
Set swDocSpec = swApp.GetOpenDocSpec("C:\Users\VanHunks\Desktop\New Folder\Part1.SLDPRT")
swDocSpec.Silent = True
'open part to load into memory
swApp.DocumentVisible False, swDocPART 'sets parts invisible
Set swModel = swApp.OpenDoc7(swDocSpec): Debug.Assert Not swModel Is Nothing
'activate assembly and insert part
swApp.ActivateDoc2 sAssyName, True, nErr
Set swComp = swAssy.AddComponent4("C:\Users\VanHunks\Desktop\New Folder\Part1.SLDPRT", "Default", 0#, 0#, 0#)
'close part
swApp.CloseDoc swModel.GetTitle
'error handler - no 'exit sub' statement above, so it falls through and executes this anyway
errH:
swApp.DocumentVisible True, swDocPART
End Sub