Ik ben klaar met de macro om alle tekeningen van een directory te verwerken.
De macro opent een dialoogvenster om een bestand te selecteren dat u wilt openen.
Vervolgens haalt het de locatie van het bestand op en verwerkt het alle tekeningen erin.
Hier is de code:
Dim swApp als object
Dim swModel als SldWorks.ModelDoc2
Dim swModelExt als SldWorks.ModelDocExtension
Dim boolstatus als Booleaanse
ExportData dimmen als object
Dim waarschuwingen zo lang, fouten zo lang
Dim oFSO als Scripting.FileSystemObject
Dim oFld als Scripting.Folder
Dim oFile als Scripting.File
Dim pad als snaar
Dim Filter Als String
Dim fileName als tekenreeks
Dim fileConfig als tekenreeks
Dim fileDispName als tekenreeks
Dim bestandopties zo lang
Sub hoofd()
Stel swApp = Toepassing.SldWorks in
Filter op tekening
Filter = "Tekening (*.slddrw)|*.slddrw|"
Dialoogvenster openen
fileName = swApp.GetOpenFileName("Selecteer Bestand", "", Filter, fileOptions, fileConfig, fileDispName)
'Geselecteerd bestand controleren
Als fileName = "" sluit dan Sub af
Herstel van het pad
path = Links(bestandsnaam, InStrRev(bestandsnaam, "\"))
'FSO-verklaring'
Set oFSO = Nieuwe Scripting.FileSystemObject
Stel oFld in = oFSO.GetFolder(pad)
'Looping op de bestanden in de map "pad"
Voor elke oFile in oFld.Files
'Type testbestand = tekening
Als oFile.Type = "SolidWorks tekeningdocument" dan
Opening van de tekening
Stel swModel in = swApp.OpenDoc6(oFile.Path, swDocDRAWING, 1, "", Fouten, waarschuwingen)
Stel swModelExt = swModel.Extension in
'Back-upversie bijgevoegd
boolstatus = swModelExt.SaveAs(oFile.Path, 3, 1, ExportData, Fouten, Waarschuwingen)
Het bestand sluiten
swApp.CloseDoc swModel.GetTitle
Einde als
Volgende oFile
Einde Sub