Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Pfadfindung durch Nutzung Explorer in Excel





Frage

Hallo Leute, ich habe folgendes Problem: ich möchte in Excel über einen Button den Explorer starten, dort dann eine bestimmte Datei auswählen, diese aber nicht öffnen, sondern den kompletten Pfad bis zur Datei in eine Zelle (oder ein Textfeld) in Excel kopieren/einfügen. Wer kann mir helfen?! Schonmal vielen Dank für eure Mühen!!! Gruß, Richie

Antwort 1 von nostalgiker6

Vielleicht nicht ganz befriedigend - aber wenn man im Explorer die Option "Vollständigen Pfad in der Adresszeile anzeigen" (Extras - Ordneroptionen - Ansicht) ankreuzt, dann kann man den dort angezeigten "Vollständigen Pfad" sehr bequem in die Zwischenablage kopieren etc.....

Antwort 2 von Flupo

Wenn du den Explorer nur zum suchen der Datei nehmen willst, geht es auch einfacher.
Schau dir mal die Online-Hilfe zum Befehl GetOpenFilename an.
Zitat:
Zitat:
Zeigt das Standard-Dialogfeld Öffnen an und liest einen vom Benutzer eingegebenen Dateinamen ein, ohne tatsächlich eine Datei zu öffnen.

Damit solltest du das Gewünschte erreichen.

Gruß Flupo

Antwort 3 von Flupo

Ergänzung: Die zugehörige Pfadangabe erhältst du mit dem Befehl CurDir().
Die beiden Zeichenfolgen zusammen ergeben dann den String mit Pfadangabe und Dateinamen.

Gruß Flupo

Antwort 4 von Richie200978

Hallo nostalgiker6!

Vielen Dank für die schnelle Antwort!!! Trifft leider nicht ganz mein Problem; ich muss 2 "beliebige" Dateien miteinander vergleichen. Dazu habe ich ein Menü erstellt, in dem ich die beiden Dateien zuerst auswählen muss und dann über verschieden Makros miteinander vergleiche.
Dazu sollen im Menü die Pfade für die zu vergleichenden Dateien angezeigt werden. Auf die Pfade beziehen sich dann die Makros für den Vergleich.
(...ist nicht so einfach zu beschreiben :-))
..."ich" hab´s geschafft (diverse Excel-Hilfen) , es bis auf die Ordnerebene zu automatisieren; den letzten Schritt bekomme ich allerdings nicht hin (Pfad bis zum Ordner geht; allerdings nicht bis zur Datei).

Vielleicht hat noch jemand nen Tipp!
Trotzdem vielen Dank!!!

Gruß,
Richie

Antwort 5 von Richie200978

Hallo Flupo!
Auch an dich vielen Dank für die Antwort!!!
Muss mal probieren, ob mir das weiterhilft!

Viele Grüße,
Richie

Antwort 6 von fürLau

Hallo

Das gabs schon öfters:

https://supportnet.de/threads/1185660

Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.

Antwort 7 von nighty

hi all :)

ein beispiel :)

gruss nighty

Option Explicit

Private Type BrowseInfo
hwndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pIDList As Long, ByVal lpBuffer As String) As Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long


Sub Einlesen()
Dim Ordnername
Cells(1, 1) = Ordnerwählen("Ab welchem Verzeichnis einlesen?")
End Sub


Private Function Ordnerwählen(ByVal strTitle As String) As String
Dim lngIDList As Long
Dim strBuffer As String
Dim UserBrowseInfo As BrowseInfo
With UserBrowseInfo
.hwndOwner = 0
.lpszTitle = lstrcat(strTitle, "")
.ulFlags = 3
End With
lngIDList = SHBrowseForFolder(UserBrowseInfo)
If (lngIDList) Then
strBuffer = Space(260)
SHGetPathFromIDList lngIDList, strBuffer
strBuffer = Left(strBuffer, InStr(strBuffer, vbNullChar) - 1)
Ordnerwählen = strBuffer
End If
End Function

Antwort 8 von Richie200978

Hallo fürLau,

das war genau das, was ich gesucht habe!!!
Vielen Dank!!!!!!!!!!!!

...aber auch vielen Dank an alle anderen!!!

Gruß,
Richie

Antwort 9 von nostalgiker6

Ich weiss ja nicht, in welcher Hinsicht die Dateien verglichen werden sollen - aber sehr viele Vergleiche (gerade inhaltlicher Art) lassen sich ganz ausgezeichnet mit "Beyond Compare" durchführen.
Es gibt eine Testversion.
www.scootersoftware.com

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: