Créer des fichiers numérotés

[Résolu]
Signaler
-
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
-
Bonjour @tous,

J'espère avoir correctement choisi le Thème.

Voilà comme dit dans mon profil, je suis Concepteur de Produits en 3D via le logiciel SolidWorks.
Il arrive parfois que dans certaines de mes missions clients je rencontre des fonctions spéciales.
Dans ce cas un précédent dessinateur avait crée une macro pour enregistrer le fichier automatiquement avec des numéros pour éviter que les fichiers suivant ne prennent un numéro existant,
Bonne intention, cependant étant pûriste dans l'organisation du modèle 3D, le fait d'avoir des numéros ainsi créer n'est pas des plus propre.

Je suis persuadé que l'on doit pouvoir commencer à 1 et enchainer au fil de la construction du projet.
Je vous colle donc le code en espérant que certains auront aisément la solution.

Merci @vous

Code de la fonction NewTube

Public swApp As Object
Public swpart As Object
Public Nom_Doc As String
Public Ext_Doc As String
Public Val_Prop As String
Public part As Object
Public boolstatus As Boolean
Public FeatureData As Object
Public Feature As Object
Public Component As Object
Public entete As Integer
Public miseajour
Public propriété, val_propriété, retval As Variant
Public longstatus As Long, longwarnings As Long

Sub NewTube2011()

Dim swApp As SldWorks.SldWorks
Dim swpart As Object
Set swApp = Application.SldWorks
Set swpart = swApp.ActiveDoc
Dim componentDoc As Object
Dim swSelMgr As SldWorks.SelectionMgr
Dim swConfigMgr As SldWorks.ConfigurationManager
Dim swComp As SldWorks.Component2

Set swModel = swApp.ActiveDoc

Set swSelMgr = swModel.SelectionManager

Set swComp = swSelMgr.GetSelectedObjectsComponent2(1)

Set componentDoc = swComp.GetModelDoc

FichierActif = componentDoc.GetTitle


'""""""""""""" CALCUL DU NOUVEAU NOM """""""""""""""""""""""""

Dim MyTime, MySecond
index = Second(Now)


MyFolder = Strings.Left(swModel.GetPathName, Strings.InStrRev(swModel.GetPathName, "") - 1) + ""

FileName = Strings.Mid(swModel.GetTitle, 1, 11) + " - "

FileName = MyFolder & FileName & FichierActif & " - " & index & ".sldprt"



'""""""""""""" ENREGISTREMENT DU FICHIER SELECTIONNE """""""""""""""""""


componentDoc.SaveAs2 FileName, 0, False, False



End Sub

41 réponses

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
34
Les fonction Right, Left, Mid, Trim se trouve dans l'espace de nom VBA (pareil pour le VB6). Le $ est pour indiquer qu'elles traitent des chaînes de caractères.
L'espace de nom "VBA est optionnel, mais j'ai pris l'habitude de le mettre pour certaines fonctions à cause de problèmes de comptabilité.
Toute l'aide se trouve sur le site de la NSDN comme tu as pu le voir.
Pour trouver de l'aide sur une fonction particulière, utilise ton moteur de recherche préféré sur "VB6 NomDeLaFonction".

_____________
Kenji