Dank u voor uw hulp,
Mijn programma werkt nu! Het opent, slaat de dxf op en sluit alle onderdelen in de geselecteerde map.
Ik deel
'-------------------------------------------------------------------------------------------------------------
Optie Expliciete
Privé Const BIF_RETURNONLYFSDIRS zo lang = &H1
Privé Const BIF_DONTGOBELOWDOMAIN zo lang = &H2
Privé Const BIF_RETURNFSANCESTORS zo lang = &H8
Privé Const BIF_BROWSEFORCOMPUTER zo lang = &H1000
Privé Const BIF_BROWSEFORPRINTER zo lang = &H2000
Privé Const BIF_BROWSEINCLUDEFILES zo lang = &H4000
Privé Const MAX_PATH zo lang = 260
Functie BrowseFolder (optioneel bijschrift als tekenreeks, optionele InitialFolder als tekenreeks) als tekenreeks
Dim SH als Shell32.Shell
Dim F As Shell32.Map
Stel SH in = Nieuwe Shell32.Shell
Stel F = SH in. BrowseforFolder(0&, Bijschrift, BIF_RETURNONLYFSDIRS, InitialFolder)
Zo niet, dan is F niets, dan is
Als F = "Desktop" dan
BrowseFolder = Over ("GEBRUIKERSPROFIEL") & "\Bureaublad"
Anders
BrowseFolder = F.Items.Item.Path
Einde als
Einde als
Functie beëindigen
Sub hoofd()
Dim swApp als SldWorks.SldWorks
Dim swmodel als SldWorks.ModelDoc
Dim sFileName als tekenreeks
Dim pad als snaar
Dim nErrors zo lang
Dim nWaarschuwingen zo lang mogelijk
Dim swPart As SldWorks.PartDoc
Dim PartNoDes als snaar
Dim stPath als snaar
Dim lgFile zo lang
Dim blretval Als Booleaanse
Stel swApp = Toepassing.SldWorks in
' Stel swExportPDFData = swApp.GetExportFileData(1) in
Path = BrowseFolder("Selecteer een pad/map")
Als pad = "" dan
MsgBox "Selecteer het pad en probeer het opnieuw"
Einde
Anders
Pad = Pad + "\"
Einde als
sFileName = Dir(Pad & "*.sldprt")
Doen tot sFileName = ""
Stel swmodel in = swApp.OpenDoc6(Pad + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings)
Stel swmodel = swApp.ActiveDoc in
Stel swPart in = swApp.ActiveDoc
Als swmodel. GetPathName = "" dan
MsgBox "Sla uw document op voordat u de macro start", vbInformatie
Einde
Anders
'We krijgen de locatie van het bestand
stPath = swmodel. GetPathName (GetPathNaam)
'We krijgen het aantal tekens tot . van de extensie
lgFile = InStrRev(stPath, ".", -1, vbTextCompare) - 1
'We herstellen het pad zonder de uitbreiding
Als lgFile > 0 Dan
stPath = Links(stPath, lgFile)
Einde als
Einde als
"Indien het document een document is
Als swmodel. GetType = swDocPART Dan
'Wij creëren het ontvouwde
blretval = swmodel. ExportFlatPatternView(stPath & ". DXF", 1)
De DXF werd opgericht
blretval = swmodel. SaveAs3(stPath & ". DXF", 0, 0)
Einde als
swApp.QuitDoc swPart.GetPathName
Set swPart = Niets
Set swmodel = Niets
sFileName = Dir
Strik
MsgBox "Alles klaar"
Einde Sub
'-------------------------------------------------------------------------------------------------------------