Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Speicherpfad auslesen

Betrifft: Speicherpfad auslesen von: Andy
Geschrieben am: 19.08.2004 16:02:04

Hallöchen!
wie kann ich den kompletten Speicherpfad einer Datei ohne Dateinemen ausgeben lassen? Ich habe 2 Möglichkeiten versucht (siehe unten). Dabei gefällt mir die erste Variante besser. da wird aber auch der Dateiname mit ausgegeben. Ich bräuchte aber nur den Pfad.

msgBox ActiveWorkbook.FullName -- gibt den kompletten Pfad mit Dateinamen an

msgBox CurDir -- gibt nur das aktuelle Laufwerk an

Weiß da jemand bescheid?

Danke
Andy

  


Betrifft: AW: Speicherpfad auslesen von: Siegfried
Geschrieben am: 19.08.2004 16:11:37

Eine einfache Möglichkeit ist von rechts (for loop) im vollständigen Dateinamen nach "\" zu suchen,
die Länge des gesamten Namens zu berechnen (Len) und dann mit Left() den Pfad zu bestimmen.

Siegfried


  


Betrifft: AW: Speicherpfad auslesen von: Andy
Geschrieben am: 19.08.2004 16:16:11

DAnke. Aber leider kann ich mit diesem Hinweis nicht viel anfangen, da ich kaum Ahnung von vba habe. wie suche ich von rechts ? kannst du mir evtl ein beispiel geben?
das würde mir weiterhelfen..

DAnke
Andy


  


Betrifft: AW: Speicherpfad auslesen von: Klamsi
Geschrieben am: 19.08.2004 16:19:33

Beispiel fürs "Von rechts suchen"
Das hab ich auch nur von jemandenbekommen. Es macht genau das gegenteil von dem was du brauchst *g*
Es extrahiert den Dateinamen, nicht den Dateipfad!

Option Explicit

Public
Function FileName(FilePath As String) As String
    Dim a: a = Split(Right(FilePath, Len(FilePath) - InStrRev(FilePath, "\")), ".")
    FileName = CStr(a(0))
End 
Function 



  


Betrifft: AW: Speicherpfad auslesen von: Klamsi
Geschrieben am: 19.08.2004 16:24:14

Ok!

Ich habs dir noch mal Umgeschrieben:

Option Explicit

Public
Function FilePath(FileName As String) As String
    Dim a: a = Split(Right(FileName, Len(FileName) - InStrRev(FileName, "\")), "")
    FilePath = CStr(a(0))
End Function



Jetzt kopiert er den Dateinamen herraus!


  


Betrifft: AW: Speicherpfad auslesen von: Andy
Geschrieben am: 19.08.2004 16:26:48

uahh.. da seh' ich gar nicht durch..
Ich wüsste auch nicht was ich da wie ändern muss.
Trotzdem Danke.


  


Betrifft: MsgBox ThisWorkbook.Path von: Boris
Geschrieben am: 19.08.2004 16:22:38

Grüße Boris


  


Betrifft: AW: MsgBox ThisWorkbook.Path von: Andy
Geschrieben am: 19.08.2004 16:32:34

Vielen Dank! Es funtioniert jetzt so wie ich es wollte

Gruß
Andy


  


Betrifft: AW: Speicherpfad auslesen von: Siegfried
Geschrieben am: 19.08.2004 16:37:26

Private Sub CommandButton1_Click()

    Dim l, ll, x
    Dim path, file, f
    Dim nul
    Dim found
    
    
    file = "C:\Data\files\file1.xls"
    found = False
    path = ""
    ll = Len(Trim(file))
    l = ll
    While l > 0 And found = False
        f = Mid(file, l, 1)
        If f = "\" Then
            x = l - 1
            found = True
        End If
        l = l - 1
    Wend

    If found Then
        path = Trim(Left(file, x))
        nul = MsgBox(path, vbInformation)
    End If
       
End Sub



  


Betrifft: AW: Speicherpfad auslesen von: Andy
Geschrieben am: 19.08.2004 16:44:31

Hallo Siegfired. Ich danke dir, aber ich bevorzuge lieber die kurze Variante (AcvtiveWorkbook.Path & "\").
Schönen Abend noch..

Andy


 

Beiträge aus den Excel-Beispielen zum Thema "Speicherpfad auslesen"