Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
256to260
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
256to260
256to260
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateipfad nur auf Dateiname kürzen!

Dateipfad nur auf Dateiname kürzen!
21.05.2003 14:11:48
Chris
Hallo,

ich habe es vorhin schon versucht, dachte auch, dass ich es geschafft habe, aber wie so des öfteren macht mir doch Excel einen Strich durch die Rechnung!

Ich möchte von Excel aus Dateien öffnen, diesen Dateipfad muss ich aber bis auf "Dateinamen.xls" kürzen oder aus dem Dateifpad auslesen, da ich ihn später mit Workbooks("Dateiname.xls") verbinden möchte!

Mein Makro so far:

Dim vAdr As Variant
Dim Open_Datei As String
vAdr = Application.GetOpenFilename
Open_Datei = Dir(vAdr) & Chr(13)

If Workbooks(Open_Datei).Sheets ......
...
...

Kann mir jemand vielleicht ein Makro anbieten! Habe schon in der Recherche geschaut, habe nur nichts gefunden!

Vielen Dank!
Chris

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Dateipfad nur auf Dateiname kürzen!
21.05.2003 14:21:13
BernhardS

vielleicht kannst Du hiermit was anfangen??
Sub PruefenVerzeichnis()
Dim arrOrdner As Variant
Dim iOrdner As Integer
Dim sDrive As String, sOrdner As String, sTmp As String
Dim nix As Variant

sOrdner = Range("G21").Value ' name oder anschließend InputBox
' InputBox("Zu erstellendes Verzeichnis:", , Range("B1").Value)
' If sOrdner = "" Then Exit Sub
' If Right(sOrdner, 1) = "\" Then
' sOrdner = Left(sOrdner, Len(sOrdner) - 1)
' End If
arrOrdner = fncFolders(sOrdner)
For iOrdner = UBound(arrOrdner) To 1 Step -1
If fncIfFolderExists(CStr(arrOrdner(iOrdner))) Then
MsgBox "Ordner " & arrOrdner(iOrdner) & " ist bereits vorhanden, Angebot wird gespeichert!"
Else
'MsgBox "Ordner " & arrOrdner(iOrdner) & " wird angelegt!"
MkDir arrOrdner(iOrdner)

End If
Next iOrdner
End Sub

Private Function fncFolders(sFolder As String) As Variant
Dim arr() As String
Dim iCounter As Integer, iFolder As Integer
ReDim arr(1 To 1)
arr(1) = sFolder
iFolder = 1
For iCounter = Len(sFolder) To 4 Step -1
If Mid(sFolder, iCounter, 1) = "\" Or iCounter = 1 Then
iFolder = iFolder + 1
ReDim Preserve arr(1 To iFolder)
arr(iFolder) = Left(sFolder, iCounter - 1)
End If
Next iCounter
fncFolders = arr
End Function

Private Function fncIfFolderExists(sFolder As String) As Boolean
Dim sOld As String
sOld = CurDir
On Error Resume Next
ChDrive Left(sFolder, 1)
ChDir sFolder
If Err = 0 Then fncIfFolderExists = True
On Error GoTo 0
ChDrive Left(sOld, 1)
ChDir sOld
End Function

B.

Anzeige
Re: Dateipfad nur auf Dateiname kürzen!
21.05.2003 14:21:37
kobra

Hi,

versuchs mal so

pos = 0
Do While InStr(pos + 1, datei, "\", vbTextCompare) > pos
pos = InStr(pos + 1, datei, "\", vbTextCompare)
Loop
dateiname = Mid(datei, pos + 1)


Gruss
Markus

Re: Dateipfad nur auf Dateiname kürzen!
21.05.2003 14:33:51
Chris

Ich danke Euch!

Werde mich gleich mal hinsetzen zum ausprobierern!

Danke nochmal!

LG Chris

Re: Dateipfad nur auf Dateiname kürzen!
21.05.2003 14:37:52
Verminaard

Hi Leutz,

Hier ist meine Lösung:

fileToOpen = Application _
.GetOpenFileName("All Files (*.*), *.*")
If fileToOpen <> False Then
Wert = "TEXT;" & fileToOpen
xWert = Len(fileToOpen)

For ii = 1 To xWert Step 1
If InStr(Right$(fileToOpen, ii), "\") Then
yWert = ii
Exit For
End If
Next ii
zWert = Right$(fileToOpen, yWert - 1)
Else
Exit Sub
End If


Gruß
Verminaard The Dragon_Lord_Evil

Anzeige
AN KOBRA!!
21.05.2003 14:45:58
Chris

Hallo Markus,

kannst Du mir vielleicht auch noch deine Dim-Bereiche kurz mitteilen!?

Dim pos As ...
Dim datei as ...
Dim Dateiname as ...

pos = 0
Do While InStr(pos + 1, datei, "\", vbTextCompare) > pos
pos = InStr(pos + 1, datei, "\", vbTextCompare)
Loop
Dateiname = Mid(datei, pos + 1)


Danke!

LG Chris

PS: Musst wissen bin nicht so der Excel-Checker!!!

Re: AN KOBRA!!
21.05.2003 15:40:54
kobra

Hi,

klar doch

Dim datei As String
Dim dateiname As String
Dim pos as Integer

Gruss
Markus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige