J'ai écrit une macro en tant que complément et j'ai besoin d'obtenir le chemin de la feuille de calcul actuelle sur laquelle elle est exécutée. Comment puis-je faire cela? Comment obtenir le chemin du fichier (uniquement le répertoire)?
J'ai écrit une macro en tant que complément et j'ai besoin d'obtenir le chemin de la feuille de calcul actuelle sur laquelle elle est exécutée. Comment puis-je faire cela? Comment obtenir le chemin du fichier (uniquement le répertoire)?
Réponses:
Utilisez Application.ActiveWorkbook.Path
uniquement pour le chemin d'accès lui-même (sans le nom du classeur) ou Application.ActiveWorkbook.FullName
pour le chemin d' accès avec le nom du classeur.
ActiveWorkbook
c'est ce qui est nécessaire.
Excel.ActiveWorkbook.Path
ne fonctionne que si le fichier a été enregistré au moins une fois. De plus, si le fichier n'a jamais été enregistré, Excel.ActiveWorkbook.FullName
renvoie uniquement le nom du fichier. Cela peut être une bonne idée de vérifier si le classeur a déjà été enregistré .
Si vous souhaitez obtenir le chemin du classeur à partir duquel la macro est exécutée, utilisez Application.ThisWorkbook.Path
.
Application.ActiveWorkbook.Path
peut parfois produire des résultats inattendus (par exemple, si votre macro bascule entre plusieurs classeurs).
Le moyen le plus rapide
path = ThisWorkbook.Path