Créer des fichiers numérotés - VB/VBA/VBS - Programmation
Marsh Posté le 17-11-2012 à 19:40:40
a priori, le nombre est généré là :
index = Second(Now)
eventuellement, fait un "time code" complet genre
yyyy-mm-dd-hh-mm-ss
C'est pas un indice qui commence à 1 mais c'est dejà plus propre comme manière de faire.
Marsh Posté le 17-11-2012 à 19:14:08
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