2017-11-07 1 views
0

Ich habe meine Makros in meiner Personal.xlsb-Datei versteckt, und ich möchte eine Datei im selben Verzeichnis wie die Arbeitsmappe speichern Ich wende das Makro an. Zeit, wenn ich benutze:VBA - Wie man Arbeitsmappe Dateipfad/Speicherort erhält, wenn Makro von Personal.xlsb

Application.ThisWorkbook.Path 

Sein die Lage von Personal.xlsb bekommen (wo das Makro stammt aus) und nicht das Verzeichnis der Arbeitsmappe. Kann mir bitte jemand sagen, wie ich das beheben kann (ohne ein Modul zu meinem Arbeitsbuch hinzuzufügen)?

+2

'ActiveWorkbook.Path' gibt den Pfad der aktiven Arbeitsmappe an. Wenn Sie Ihren Code anzeigen, können wir Ihnen bei der Entscheidung helfen, ob dies die geeignete Methode ist oder ob es sich bei einem anderen Arbeitsmappenobjekt um die Eigenschaft 'Path' handelt. – YowE3K

+0

@ YowE3K Perfekt, danke! Das war, was ich brauchte, nur etwas, um das Arbeitsbuch zu finden, an dem ich arbeitete, anstatt das, wo das Makro herkam, vielen Dank noch einmal! : D Problem ist gelöst! – ianquiksilver

+1

@ YowE3K bitte füllen Sie eine Antwort, so dass die Frage als beantwortet markiert werden kann. –

Antwort

3

Die Path Eigenschaft kann auf jedem Workbook Objekt verwendet werden, nicht nur auf der ThisWorkbook eins.

Um den Pfad des ActiveWorkbook zu erhalten, können Sie ActiveWorkbook.Path verwenden.

Oder wenn Sie zum Beispiel, wurde eine Arbeitsmappe wie etwas mit:

Dim wb As Workbook 
Set wb = Workbooks.Open("C:\Temp\Test\File1.xlsx") 

dann können Sie wb.Path verwenden, das wäre natürlich, "C:\Temp\Test" zurückzukehren.

+0

Prost! in meinem Fall ist es einfach, ein Makro auf mehrere Dateien in verschiedenen Orten auszuführen und es eine CSV-Datei im selben Verzeichnis ausspucken daher die Notwendigkeit für eine dynamische Lösung :) – ianquiksilver

Verwandte Themen