Bonjour,
j'ai trouvé plusieurs posts dans divers forum mais je n'y arrive pas ...
La macro ci-après, issue de plusieurs bouts de codes, exporte les propriétés Description, Numéro et Référence des fichiers SLDPRT dans un excel.
Cependant, la macro ne va pas dans les sous-dossiers et je n'arrive pas à y aller !
Quelqu'un aurait-il l'amabilité de m'aider à compléter le code ?
Merci d'avance,
Dim Part As SldWorks.ModelDoc2
Dim a As Object
Dim fs As Object
Dim Currentpath As String
Dim Subfolder As Object
Function SelectFolder(Optional Title As String, Optional TopFolder As String) As String
Dim objShell As New Shell32.Shell
Dim objFolder As Shell32.Folder
'If you use 16384 instead of 1 on the next line, files are also displayed
Set objFolder = objShell.BrowseForFolder(0, Title, 1, TopFolder)
If Not objFolder Is Nothing Then
SelectFolder = objFolder.Items.Item.Path
End If
End Function
Sub main()
Set swApp = Application.SldWorks
Set fs = CreateObject("Scripting.FileSystemObject")
nomfichier = InputBox("nom du fichier: ")
nomfichier = nomfichier & ".csv"
Set a = fs.CreateTextFile("C:\Users\***********\Desktop\" & nomfichier, True)
Visibility = swApp.DocumentVisible(False, swDocPART)
a.writeline ("Numéro" & ";" & "Description" & ";" & "Référence")
'choix dossier + récupération fichier .sldprt
Currentpath = SelectFolder("Select Folder", "")
If Currentpath = "" Then
End If
Currentpath = Currentpath & "\"
FileName = Dir(Currentpath & "*.sldprt")
'fin de phase
Do While FileName <> ""
Set Part = swApp.OpenDoc(Currentpath & FileName, swDocPART)
Description = Part.GetCustomInfoValue("", "Description")
Numéro = Part.GetCustomInfoValue("", "Numéro")
Référence = Part.GetCustomInfoValue("", "référence")
a.writeline (Numéro & ";" & Description & ";" & Référence)
swApp.CloseDoc FileName
FileName = Dir
Loop
Visibility = swApp.DocumentVisible(True, swDocPART)
End Sub