Convertir nom long au format DOS (8.3)

Bonjour,

Pour cela j'utilise une fonction GetShortPath trouvée sur le Web.

Si j'indique mon chemin dans la commande :

GetShortPath ("D:\Archives\Archioutilvalid\8607\8607 0466") cela fonctionne.

Maintenant je veux utiliser une variable pour le chemin

FF="D:\Archives\Archioutilvalid\" & nf1 & "\" & nf3 ' nf1 et nf3 sont des variables

La variable FF me restitue bien le chemin complet que je vérifie avec Debug.Print (D:\Archives\Archioutilvalid\8607\8607 0466)

mais quand je lance :

GetShortPath (FF)

Le chemin au format 8.3 n'est pas restitué, il est vide.

J'ai essayé toutes sortes de combinaisons pour la variable FF mais je ne trouve pas.

Merci d'avance

Bonjour,

A mon avis, ta variable ne restitue pas le chemin tel que le demande ta fonction GetShortPath

il manque les " au début et à la fin.

Ce n'est qu"une hypothèse !

Bonjour,

Merci pour ta réponse.

Pourtant en mode Débogage (F8) et Debug.Print la variable me parait correcte.

J'ai fait la comparaison dans le Debug.Print entre :

GetShortPath ("D:\Archives\Archioutilvalid\8607\8607 0466")

et

FF = "D:\Archives\Archioutilvalid\" & nf1 & "\" & nf3

GetShortName (FF)

Les deux lignes écrites dans la fenêtre d'exécution sont les mêmes.

C'est surement le passage de l'argument qui pose problème et j'ai essayé un peu tout.

Rechercher des sujets similaires à "convertir nom long format dos"