Bonjour,
je vous partage le code de mes macros. Aujourd’hui c’est pour créer automatiquement le fichier STEP ou eDrawing de l’assemblage en cours, en l’enregistrant dans un dossier prédéfini :
Dim swApp As Object
Dim Part As Object
Sub main()
Set swApp = Application.SldWorks
'bRet = swApp.SetUserPreferenceIntegerValue(swUserPreferenceIntegerValue_e.swStepAP, 214)
'Step = swApp.SetUserPreferenceIntegerValue(swStepAP, 214)
Set Part = swApp.ActiveDoc
sPathName = Part.GetPathName
sPathName = Mid(sPathName, InStrRev(sPathName, "\") + 1, Len(sPathName) - InStrRev(sPathName, "\") - Len(".sldasm"))
'sPathName = sPathName + ".STEP"
folderRoot = "\\nom_du_serveur\nom_du_dossier\"
Part.SaveAs2 folderRoot & sPathName & ".easm", 0, True, False
MsgBox ("Fichier enregistré : sPathName & ".easm")
End Sub
Il faut remplacer folderRoot = "\nom_du_serveur\nom_du_dossier" par votre propre chemin
J’ai volontairement laissé des lignes commentées, c’est pour le STEP. Vous pouvez ici les utiliser pour définir la version 214 par exemple
J’espère que ça vous aidera
CEd
3 « J'aime »
Merci pour le partage @cedric_keiflin …
Cependant, je remplacerai la selection « Rigide » de
par l’ouverture d’un navigateur Windows avec une demande de sélection de l’emplacement du fichier à Sauvegarder:
Dim fso As FileSystemObject
Dim oF1 As FileSystemObject
Dim folderRoot As folder
Dim fldr As FileDialog
Dim sItem As String
Sub main ()
Set fso = New FileSystemObject 'Appel du script FileSystemObject
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
.Title = "Select a Folder"
.AllowMultiSelect = False ‘False = Ne pas autoriser la Multi-Selection ; True = Autoriser la Multi-Selection
.InitialFileName = "LE NOM DU DOSSIER PREDEFINI" 'Répertoire initial de l'explorateur windows
If .Show <> -1 Then GoTo NextCode
sItem = .SelectedItems(1)
End With
Set folderRoot = fso.GetFolder(sItem) 'Mettre le nom de la racine du dossier à scanner
End sub
Attention: il est nécessaire de charger la Référence " Microsoft Scripting Runtime
" pour utiliser l’explorateur Windows…
Nota : Dans l’exemple ci-dessus, par souci de compatibilité, j’ai conservé le Nom " folderRoot" comme variable d’emplacement.
Il faut ensuite remplacer LE NOM DU DOSSIER PREDEFINI par le chemin du point de départ de la fenetre de navigation…
Exemple :
.InitialFileName = « LE NOM DU DOSSIER PREDEFINI »
devient
.InitialFileName = "G:\3D_Solidworks\Affaire" (ici « G » peut être une lettre d’emplacement Reseau)
A toi de voir s’il te semble interessant de l’associé à ta macro.
3 « J'aime »
bien sur on peut adapter
dans mon cas le chemin en dur est une volonté car je veux que ce fichier aille toujours dans le même dossier (export pour l’atelier)
dans mon code, tu cliques et ça créé le fichier avec le nom dans le dossier voulu, par besoin de parcourir