Ich habe das Makro fertiggestellt, um alle Zeichnungen eines Verzeichnisses zu verarbeiten.
Das Makro öffnet ein Dialogfeld, in dem Sie eine Datei zum Öffnen auswählen können.
Anschließend wird der Speicherort der Datei abgerufen und alle darin enthaltenen Zeichnungen verarbeitet.
Hier ist der Code:
Dimmen swApp als Objekt
Dim swModel As SldWorks.ModelDoc2
Dim swModelExt As SldWorks.ModelDocExtension
Dim boolstatus als boolescher Wert
Dimmen von ExportData als Objekt
Warnungen so lange dimmen, Fehler so lange
Dim oFSO As Scripting.FileSystemObject
Dim oFld As Scripting.Folder
Dim oFile As Scripting.File
Pfad als Zeichenfolge dimmen
Filter als Zeichenfolge dimmen
Dim fileName als Zeichenfolge
Dim fileConfig als Zeichenfolge
Dim fileDispName als Zeichenfolge
Datei dimmenOptionen so lange
Sub main()
Legen Sie swApp = Application.SldWorks fest
Filtern nach Zeichnung
Filter = "Zeichnung (*.slddrw)|*.slddrw|"
Dialogfeld "Öffnen"
fileName = swApp.GetOpenFileName("Datei auswählen", "", Filter, fileOptions, fileConfig, fileDispName)
'Ausgewählte Datei prüfen
if fileName = "" dann sub beenden
Wiederherstellung des Pfads
Pfad = Links(Dateiname, InStrRev(Dateiname, "\"))
«Erklärung des BFS»
Set oFSO = Neues Scripting.FileSystemObject
Set oFld = oFSO.GetFolder(Pfad)
'Schleife auf den Dateien im Verzeichnis 'Pfad'
Für jede oDatei in oFld.Files
'Prüfdateityp = Zeichnung
If oFile.Type = "SolidWorks Zeichnungsdokument", dann
Öffnen der Zeichnung
Set swModel = swApp.OpenDoc6(oFile.Path, swDocDRAWING, 1, "", Fehler, Warnungen)
Legen Sie swModelExt = swModel.Extension fest
'Backup-Version beigefügt
boolstatus = swModelExt.SaveAs(oFile.Path, 3, 1, ExportData, Fehler, Warnungen)
Schließen der Datei
swApp.CloseDoc swModel.GetTitle
Ende, wenn
Nächste oDatei
Ende Sub