Les classeurs.Méthode ouverte en VBA
Mon script vba dans myMacro.xls Workbooks.Open
Méthode de travail ainsi que ci-dessous,
Workbooks.Open Filename:="D:\ExcelMacroProj\myTest.xls", ReadOnly:=True
Mais quand j'ai essayer de changer le Filename
de la valeur à un nouveau chemin d'accès ci-dessous, mais tous mes pratiques n'a pas fonctionné. Montrer erreur d'Exécution 1004.
Workbooks.Open Filename:="myTest.xls", ReadOnly:=True
or
Workbooks.Open Filename:="./myTest.xls", ReadOnly:=True
or
Workbooks.Open Filename:=".\myTest.xls", ReadOnly:=True
Fait myMacro.xls et myTest.xls a été placé dans le même dossier. C'est pourquoi je veux changer un flexible de l'annuaire du dossier.
comment pourrais-je résoudre ce problème? Apprécié pour votre de lire et de répondre.
OriginalL'auteur Nano HE | 2011-05-10
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer en utilisant
ThisWorkbook.Path
pour faire un chemin d'accès absolu. Il retourne le chemin d'accès au dossier de l'classeur de l'exécution de la macro (à l'exclusion du nom de fichier). Quelque chose comme ceci devrait fonctionner:Assurez-vous d'inclure une barre oblique inverse, depuis le chemin du classeur ne prend pas fin avec un.
OriginalL'auteur Greg Haskins
Filename
est par rapport à l'actuel répertoire Excel (qui est différent du répertoire dans lequel un document ouvert est).Vous modifiez le répertoire courant en utilisant
ChDir "x:\new\path"
.Mais ce que vous voulez faire est de:
où
EnsureSlash
est votre fonction personnalisée qui ajoute une barre oblique inverse (\
) à la fin de la chaîne, si ce n'est pas déjà là (parce queThisWorkbook.Path
se termine par une barre oblique lorsque le chemin d'accès est le répertoire racine, et n'est pas contraire).OriginalL'auteur GSerg