@ Hans W. Herber
18.08.2004 15:11:50
Klamsi
Du hattest mir vor kurzem mal diesen Code gegeben:
Sub PfadFiltern()
Dim wksA As Worksheet, wksB As Worksheet
Dim vRow As Variant
Dim iRow As Integer, iChar As Integer
Dim sPath As String, sFile As String
Set wksA = Worksheets("Sheet2")
Set wksB = Worksheets("Sheet3")
iRow = 2
Do Until IsEmpty(wksB.Cells(iRow, 1))
sFile = wksB.Cells(iRow, 1).Value
sFile = WorksheetFunction.Substitute(sFile, "~", "~~")
vRow = Application.Match("*" & sFile, wksA.Columns(1), 0)
If Not IsError(vRow) Then
sPath = wksA.Cells(vRow, 1).Value
For iChar = Len(sPath) To 1 Step -1
If Mid(sPath, iChar, 1) = "\" Then Exit For
Next iChar
wksB.Cells(iRow, 2).Value = Left(sPath, iChar)
End If
iRow = iRow + 1
Loop
End Sub
Der war zum Extrahieren des Dateinamen aus den Dateipfad...
Neben der Tilde "~" ist mir jetzt noch etwas anderes aufgefallen:
wenn man nen Unterstrich "_" im Dateinamen hat wird nur das Teil nach "_" Extrahiert (Bsp: Statt Beispiel_2.doc kommt 2.doc)
Ich hab das wie mit der Tilde mit folgendem versucht zu umgehen:
sFile = WorksheetFunction.Substitute(sFile, "_", "__")
Das scheint ihm aber nicht zu schmecken :-/
Vielleicht kriegst du das ja auch noch hin, des wäre echt genial.
Ähm, ein Prob. gibts auch noch, den aller letzten Pfad extrahiert er leider gar nicht. Wie kann man das noch umgehen?
Schon mal im Vorraus ganz großes DANKE :o)