Fonction Nom de Fichiers [vba] - VB/VBA/VBS - Programmation
Marsh Posté le 27-06-2005 à 14:58:52
essaie ceci :
Dim fso As FileSystemObject
Dim strFileName As String
Set fso = New FileSystemObject
strFileName = fso.GetFileName("c:\autoexec.bat" )
MsgBox strFileName
Marsh Posté le 28-06-2005 à 11:35:23
aucun résultats,
la fenêtre qui apparait est vide,
il me manque peut être un package?
Marsh Posté le 28-06-2005 à 12:05:01
J'utilise la mm méthode que friday_13.
Mais tu dois rajouter la librairire : microsoft scripting runtime pour que ca fonctionne
Marsh Posté le 28-06-2005 à 12:20:21
Je ne comprend pas quel nom de fichier tu veux comparer.
En gros tu as des fichiers dans un répertoire, et s'il n'est pas ouvert tu veux l'ouvrir c ca ?
Marsh Posté le 28-06-2005 à 12:29:53
Dans un premier temps, je souhaite récupérer les noms des fichiers de travail pour les transformer en variables.
Le but est de supprimer les contraintes des noms de fichiers, ils peuvent être modifier par l'utilisateur, mais aussi pour éviter préciser les noms des fichiers en dur dans mon code.
Ensuite je vais manipuler ces différent nom de fichiers et crées des boucles de contrôles pour vérifier le chemin du répertoire de travail; élément nécessaire au contrôle de l'éxecutable sous windows (éxécutable "Fortran" )
Marsh Posté le 29-06-2005 à 09:13:32
trouvé :
* Function ObtenirNomFichier(stNomComplet As String) As String
* 'ObtenirNomFichier retourne le nom de fichier, comme Toto.xls à partir
* 'de la fin d'un chemin complet tel que C:\Données\Cash.xls
* 'stNomComplet est retournée si aucun séparateur de chemin n'est trouvé
*
* Dim stSeparateurChemin As String 'caractère de séparateur de chemin
* Dim iLongueurNomFichier As Integer 'Longueur de stNomComplet
* Dim i As Integer
*
* stSeparateurChemin = Application.PathSeparator
* Debug.Print ("Séparateur: " & stSeparateurChemin)
* iLongueurFichier = Len(stNomComplet)
* Debug.Print iLongueurFichier
* 'trouve le dernier caractère de séparateur de chemin s'il existe
* For i = iLongueurNomFichier To 1 Step -1
* If Mid(stNomComplet, i, 1) = stSeparateurChemin Then Exit For
* Next i
* ObtenirNomFichier = Right(stNomComplet, iLongueurNomFichier - i)
* Debug.Print ("i: " & i)
* Debug.Print ("fichier:" & ObtenirNomFichier)
* Debug.Print ("----------------------------------------" )
*
* End Function
je l'ai vu juste en compilant
Marsh Posté le 29-06-2005 à 09:45:13
Merci,
c'est la bourde que je cherchais,
question: tu compiles avec quel logiciel?
Marsh Posté le 29-06-2005 à 20:02:12
J'ai utilisé Access et dans la fenêtre de code j'ai un bouton pour "compiler"
C'est du moins ce qu'indique l'info-bulles
Marsh Posté le 27-06-2005 à 14:45:26
Bonjour à tous,
pour l'une de mes macros, j'ai besoin de connaître de nom de mon fichier pour ensuite le comparer aux fichiers ouverts, et ainsi l'ouvrir si pas ouvert.
Pour cela j'ai écris une fonction, à l'aide de mon manuel de référence VBA, qui me donne le nom du fichier à partir du chemin complet. Pour une raison qui m'échappe, la fonction NomFichier ne fonctionne pas:
j'obtient le résultat suivant avec la fenête d'execution:
ObtenirNomFichier("c:\data\toto.xls" )
Séparateur: \
16
i: 0
fichier:
----------------------------------------
pour le moment je tourne en rond, je suis surement passé à coté de quelque chose.
quel est votre avis?