Est-il un moyen pour DIR(chemin) en VBA pour gérer les chaînes de plus de 260?

Donné le fragment de code suivant:

Dim s As String: s = "S:\vic\bla\[..insert more here..]\data.xml"
Debug.Print Len(s)
Debug.Print Dir(s)

Si Len(s) >= 260 j'ai un message d'erreur indiquant que le suivant:

Run-time error '53':

File not found

Si la chaîne est inférieure à 260, il fonctionne très bien et affiche le comportement attendu pour à la fois et non les fichiers trouvés.

Est là pour obtenir DIR travailler avec longtemps (>260) noms de chemin d'accès?

Notes

  • Fichier de restructuration n'est pas une option
  • Je suis en cours d'exécution ce dans Excel 2007
comme un correctif à court terme, vous pouvez re-map le plus profond dossier dont vous avez besoin pour obtenir les fichiers
Pouvez-vous développer?
Pourquoi avez-vous besoin Dir? Vous ne pas afficher les caractères génériques dans votre exemple, est-il donc possible que FileSystemObject serait travailler pour vous?
Très bonne question. J'ai seulement besoin de vérifier que le fichier existe - donc, si je peux le faire avec une autre méthode, je suis ouvert à il
En fonction de votre dernier commentaire, je fournis le code qui va vous dire si un fichier existe indépendamment de la profondeur dans la structure de répertoire. Vous pourriez envisager l'édition de votre question, de sorte qu'il reflète ce que tu voulais dire... de cette façon, la réponse aura plus de sens pour les gens qui ne lisent pas les commentaires.

OriginalL'auteur Chris | 2013-02-06