Edit: I had to set the folder locally (get latest version). That works.
Hi all,
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc
Dim sFileName As String
Dim vFileName As String
Dim Path As String
Dim nPath As String
Dim nErrors As Long
Dim nWarnings As Long
Dim boolstatus As Boolean
Dim swDraw As SldWorks.DrawingDoc
Dim swCustProp As CustomPropertyManager
Dim swView As SldWorks.View
Dim ConfigName As String
Dim i As Long
Dim t As Integer
Dim valOut1 As String
Dim valOut2 As String
Dim resolvedValOut1 As String
Dim resolvedValOut2 As String
Dim PartNo As String
Dim nFileName As String
Dim swDocs As Variant
Dim PDFpath As String
Dim currpath As String
Dim PartNoDes As String
Sub main()
Set swApp = Application.SldWorks
Path = "C:\\PDMWorks View\\Sub samenstellingen\\SA00120000-SA00129999\\"
sFileName = Dir(Path & "*.slddrw")
Dim doc As SldWorks.ModelDoc2
Dim fileerror As Long
Dim filewarning As Long
t = 0 'temporary
Do Until sFileName = ""
Set swApp = Application.SldWorks
swApp.Visible = False
Set doc = swApp.OpenDoc6(Path & sFileName, swDocDRAWING, 2, "", fileerror, filewarning)
boolstatus = swApp.RunMacro2("D:\\Spare Part Generator\\Macro\\MARS RDC.swp", "RDC", "main", swRunMacroDefault, False)
sFileName = Dir
t = t + 1 'temporary
If t > 10 Then Exit Do 'temporary
Loop
End Sub
I use this code to find drawings in our pdm system. Because I'm testing this I limit the batch conversion with a max of 10 drawings (t).
It should only stop when filename becomes empty or when t > 0.
In another folder, C:\\PDMWorks View\\Sub samenstellingen\\SA00000000-SA00009999 for example, it does convert 10 files. But when I use the folder in the code above, it only loops once (and yes, that location has more than 10 drawings). With debugging I find that after 1 loop in that folder sFileName equals "", so that explains why the macro stops.
Further, the one that is converted appears to be completely random picked from that folder. (not smallest file size, or latest addition, etc.)
How can I make the macro go through all drawings in a numerical order?
SolidworksApi macros