VBA. Taille des répertoires...

Le
HD
Bonjour,

Je me suis rendu compte que mes problèmes d'ouvertures et d'impressions de
fichiers Word et Excel par macro VBA provenaient de la longueur du chemin
pour accéder aux fichiers. J'ai en effet certains répertoires qui font plus
de 200 caractères de longueurs !!! Et le VBA ou Windows (?) ne semble pas
apprécier ce fait. Ainsi certains fichiers s'ouvrent sans problème et
d'autres ne s'ouvrent pas ou même "bloquent" sur des messages d'erreurs
"Le fichier n'existe pas" alors qu'un Dir(Fic) me ressort bien le fichier et
que le fichier est bien à l'emplacement prévu, "Le fichier ne peut être
enregistré" alors que si l'on ouvre le fichier et que l'on sauvegarde il n'y
a aucun problème Bref Pour ne pas avoir le problème il me faut
déplacer le répertoire à la racine pour réduire la longueur du chemin

J'ai été très surpris de ce problème car je ne pensais pas que Windows avait
de telle limitation
Connaissiez vous ce problème ?

Merci d'avance pour votre aide.
--
@+
HD
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Anacoluthe
Le #132645
Bonjour !

Pas certain du tout que votre diagnostic sur la longueur
des chemins de fichier vous mette sur le bon chemin !!!
Méfiez-vous des chaînes contenant des espaces, de certains
caractères spéciaux, des conventions UNC , des guillemets
et de vos variables .......
Analysez mieux vos messages d'erreur : il n'est pas fait
mention de chaînes trop longues, non ?

Anacoluthe
« Nul ne s'est jamais perdu dans le droit chemin. »
- GOETHE


'HD' nous a écrit ...
Bonjour,

Je me suis rendu compte que mes problèmes d'ouvertures et d'impressions de
fichiers Word et Excel par macro VBA... provenaient de la longueur du chemin
pour accéder aux fichiers. J'ai en effet certains répertoires qui font plus
de 200 caractères de longueurs !!! Et le VBA ou Windows (?) ne semble pas
apprécier ce fait. Ainsi certains fichiers s'ouvrent sans problème et
d'autres ne s'ouvrent pas ou même "bloquent" sur des messages d'erreurs...
"Le fichier n'existe pas" alors qu'un Dir(Fic) me ressort bien le fichier et
que le fichier est bien à l'emplacement prévu, "Le fichier ne peut être
enregistré" alors que si l'on ouvre le fichier et que l'on sauvegarde il n'y
a aucun problème... Bref... Pour ne pas avoir le problème il me faut
déplacer le répertoire à la racine pour réduire la longueur du chemin...

J'ai été très surpris de ce problème car je ne pensais pas que Windows avait
de telle limitation...
Connaissiez vous ce problème ?

Merci d'avance pour votre aide.


HD
Le #132547
Pas certain du tout que votre diagnostic sur la longueur
des chemins de fichier vous mette sur le bon chemin !!!
Méfiez-vous des chaînes contenant des espaces, de certains
caractères spéciaux, des conventions UNC , des guillemets
et de vos variables .......
Mes répertoires contiennent presque tous des espaces, des accents, etc...

Mais ces répertoires non modifiés et mis tel quel à la racine ne posent
alors plus de problème. Comment l'expliquer?

Exemple:

H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECORechche pour
l'emploi3 Dossier de travail annuelEA Planification et rapportsEA 7
Événements postérieursQuestionnaire evenemts posterieurs cloture ex.doc

Avec 215 caractères... Ne pose plus de problème avec:

H:CAC1.ASSOCIATIONS3 Dossier de travail annuelEA Planification et
rapportsEA 7 Événements postérieursQuestionnaire evenemts posterieurs
cloture ex.doc

Et pourtant on a bien toujours des espaces, des accents, etc...

Analysez mieux vos messages d'erreur:
il n'est pas fait mention de chaînes trop longues,
non ?
Non. Mais les messages d'erreurs sont très vagues. De simple "Impossible

d'ouvrir le fichier" ou "Enregistrement impossible".

--
@+
HD

FxM
Le #130561
Bonjour,

Pas certain du tout que votre diagnostic sur la longueur
des chemins de fichier vous mette sur le bon chemin !!!
Ahhhh, les noms longs. Pratique n'est-ce pas ? Mais quid des noms courts?



Méfiez-vous des chaînes contenant des espaces, de certains
caractères spéciaux, des conventions UNC , des guillemets
et de vos variables .......
AMHA, mettre des espaces et des accents dans un chemin est le meilleur


moyen de ne pas pouvoir y accéder surtout en réseau. Préférer les
caractères ASCII purs (pas d'accent, d'apostrophe, ..) et remplacer " "
par "_". Je passe sur les majuscules accentuées :o(

Mes répertoires contiennent presque tous des espaces, des accents, etc...
Mais ces répertoires non modifiés et mis tel quel à la racine ne posent
alors plus de problème. Comment l'expliquer?
Il faut savoir que Windows n'est pas embêté par des noms longs pour

autant que les noms courts ne dépassent pas 66 caractères. Les noms
courts sont sous la forme 8.3 Lorsque le nom dépasse 8.3, il est coupé;
les 6 premiers caractères sont retenus et la suite est remplacée par ~
suivi d'un numéro croissant et l'extension est réduite à 3 caractères.
Ainsi :
c:totoestnul.document1 devient : c:totoes~1.doc
c:totoestaussibete.docu2 devient c:totoes~2.doc
etc..

H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECORechche pour
l'emploi3 Dossier de travail annuelEA Planification et rapportsEA 7
Événements postérieursQuestionnaire evenemts posterieurs cloture ex.doc
= H:CAC1.ASSSECT S~1Rechch~13 Dos~1EA Pl~1EA 7 É~1Questi~1.doc

Avec 215 caractères...
plutôt 70 caractères (nom court)


Ne pose plus de problème avec:
H:CAC1.ASSOCIATIONS3 Dossier de travail annuelEA Planification et
rapportsEA 7 Événements postérieursQuestionnaire evenemts posterieurs
cloture ex.doc
= H:CAC1.ASS3 Dos~1EA Pl~1EA 7 É~1Questi~1.doc

Et pourtant on a bien toujours des espaces, des accents, etc...
et donc moins de 66 caractères (nom court) puisque deux sous-répertoires

ont été enlevés.

Analysez mieux vos messages d'erreur:
il n'est pas fait mention de chaînes trop longues,
non ?


Non. Mais les messages d'erreurs sont très vagues. De simple "Impossible
d'ouvrir le fichier" ou "Enregistrement impossible".


Un scandisk en vrai DOS au démarrage et tu vas avoir une erreur de nom
long. Pour finir, ceci est un problème que tu découvres sous Word
(pourquoi cross-poster aussi sur Excel ?) mais qui vient de l'OS et des
noms utilisés.

@+
FxM


Publicité
Poster une réponse
Anonyme