Dear all,
I am trying to run the following macro thru task schedular to add custom properties to the bulk of assembly files in a particular folder. But i am getting error as "OpenErr 1 Assem1.SLDASM Error 91 (Object variable or With block variable not set) in procedure main of Module Macro11". It is working fine for the part files not the assembly files. Could anyone help? please...
Thanks,
Pals
====================================
Sub main()
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim lErr As Long
Dim lWarn As Long
Dim FileNumber As Long
Dim sFile As String
Dim sPath As String
Const flogfile As String = "C:\10 PROPERTY MACRO - BULK TRIAL\assy file\logfile.txt"
On Error GoTo main_Error
Set swApp = CreateObject("SldWorks.application")
FileNumber = FreeFile
sPath = "C:\10 PROPERTY MACRO - BULK TRIAL\assy file\"
sFile = Dir(sPath & "*.SLDASM", vbNormal)
Do While sFile <> ""
Set Part = swApp.OpenDocSilent(sPath & sFile, swDocPART, lErr)
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
If lErr = 0 Then
Part.ClearSelection2 True
Part.DeleteAllRelations
Part.AddRelation """Num"" = Assembly.Extension.CustomPropertyManager("""").Set(""number"", Left(Assembly.GetTitle, 8))"
Part.AddRelation """Prt"" = Assembly.Extension.CustomPropertyManager("""").Set(""partno"", Left(Assembly.GetTitle, 12))"
Part.AddRelation """Dwg"" = Assembly.Extension.CustomPropertyManager("""").Set(""dwgno"", Left(Assembly.GetTitle, 8))"
Part.Save3 swSaveAsOptions_Silent, lErr, lWarn
Open flogfile For Append As #FileNumber
Print #FileNumber, "saveErr " & lErr & vbTab & lWarn & vbTab & sFile
Close #FileNumber
swApp.CloseDoc sFile
Else
Open flogfile For Append As #FileNumber
Print #FileNumber, "OpenErr " & lErr & vbTab & sFile
Close #FileNumber
End If
swApp.CloseDoc sFile
sFile = Dir
Loop
main_exit:
On Error GoTo 0
swApp.CloseAllDocuments True
swApp.ExitApp
Exit Sub
main_Error:
Open flogfile For Append As #FileNumber
Print #FileNumber, "OpenErr " & lErr & vbTab & sFile & " Error " & Err.Number & " (" & Err.Description & ") in procedure main of Module Macro11"
Close #FileNumber
GoTo main_exit
End Sub