2016-04-03 18 views
0

Ich benutze GetSaveAsFilename Befehl, um Zellen Wert in Datei zu schreiben. Ich benutze dies, weil dieser Befehl den Speicherpfad mit Popup-Menü erhält. Meine Frage ist, wie bekomme ich den Pfad, der den Benutzer für die weitere Verwendung ausgewählt hat? HierVBA Excel GetSaveAsFilename Parameter

ist ein Beispiel

myFile = Application.GetSaveAsFilename(InitialFileName:=intialFilename, fileFilter:="Text Files (*.txt), *.txt") 

Diese myFile wird die neue IintialFilename Wtith den vollständigen Pfad enthalten, wie folgt aus: "C: /test/t1.xlsm"

Wie kann ich von zu bekommen myFile diese Informationen?

In C++/Java würde es so etwas wie diese:

String pathThatUserGave = myFile.InitialFileName() 

Vielen Dank im Voraus!

Antwort

0

analysieren Sie einfach die Zeichenfolge nur den Dateinamen zu erhalten:

Sub gdjtrf() 
    myFile = Application.GetSaveAsFilename(InitialFileName:=intialFilename, fileFilter:="Text Files (*.txt), *.txt") 
    ary = Split(myFile, "\") 
    MsgBox myFile & vbCrLf & ary(UBound(ary)) 
End Sub 

EDIT # 1:

Um nur den Weg, zu verwenden:

Sub gdjtrf2() 
    myFile = Application.GetSaveAsFilename(InitialFileName:=intialFilename, fileFilter:="Text Files (*.txt), *.txt") 
    ary = Split(myFile, "\") 
    ary(UBound(ary)) = "" 
    s = Join(ary, "\") 
    MsgBox s 
End Sub 

Verwerfen der letzte Schrägstrich wenn du es nicht brauchst.

+0

Oh danke, es ist fast perfrect, aber ich will nur den Pfad, ohne den Dateinamen. Wie kann ich das machen? – Twi

+0

@ Twi ** Sorry ** ......................... siehe meine ** EDIT # 1 ** –