Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
840to844
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
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Pfadspeicherung

Pfadspeicherung
04.02.2007 12:00:05
Sophie
Hallo,
habe eine große Datenbank in Excel erstellt, greife auf Bilddateien zu die ich momentan in einem externen Ordener unter C:\Temp\Bilddateien abgelegt habe.
Möchte dieses aber ein bißchen komfortabler gestalten, sprich habe mir vorgestellt in einer Excel-Zelle den Datei-Pfad zu speichern, damit ich diesen einfach abändern kann.
Müßte eigentlich funktionieren oder?
Super wäre es wenn ich hierfür zum abändern des Pfades dann ein Programm hätte.
Sprich, wenn ich einen Button hätte der mir nach drücken sämtliche Verzeichnisse anzeigt und mir die Möglichkeiten bietet mir hier hindurchzuhängeln bis an die Stelle wo ich eben den Ordner mit den Bilddateien in Zukunft ablegen möchte erreicht habe. Sprich, wenn ich mich beim Durchhängeln an der richtigen Stelle befinde und nun einen weiteren Button drücke soll mir dieser Pfad eben in die Excel-Zelle geschrieben werden.
Ist dies umsetzbar? Für Euere Hilfe wäre ich Euch sehr dankbar.
Gruß
Sophie

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Code von Ramses
04.02.2007 14:12:24
Ramses
Hallo, Sophie,
anbei ein Code, den Rainer einmal ins Forum gestellt hat. Da kann man sich klasse durchhangeln und vieles nachlesen.
Gruß, Florian aus Berlin
Option Explicit
'############################################################################################'
' Die folgenden Makros durchsuchen einen Ordner und seine Unterordner '
' Modified by Ramses '
' Der Code besteht zu TeilFragmenten aus Forumsbeiträgen
' Die einzelnen Verfasser sind mir leider nicht mehr bekannt. '
'############################################################################################'
'############################################################################################'
'Dieser Bereich kann entfallen, wenn der Variable 'Laufwerk' ein fester Wert zugewiesen wird.'
Public Type BROWSEINFO '
hOwner As Long '
pidlRoot As Long '
pszDisplayName As String '
lpszTitle As String '
ulFlags As Long '
lpfn As Long '
lParam As Long '
iImage As Long '
End Type '
Declare

Function SHGetPathFromIDList Lib "SHELL32.DLL" _
Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Declare 

Function SHBrowseForFolder Lib "SHELL32.DLL" _
Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long

Function GetDirectory(Msg) As String
Dim myInfo As BROWSEINFO
Dim myPath As String
Dim Root As Long, ID As Long, pos As Integer
With myInfo
.pidlRoot = 0&
.lpszTitle = Msg
.ulFlags = &H1
End With
ID = SHBrowseForFolder(myInfo)
myPath = Space$(512)
Root = SHGetPathFromIDList(ByVal ID, ByVal myPath)
If Root Then
pos = InStr(myPath, Chr$(0))
GetDirectory = Left(myPath, pos - 1)
Else
GetDirectory = ""
End If
End Function


Sub Select_Path()
Dim Msg As String, myPath As String
Msg = "Wählen Sie ein Verzeichnis aus," & Chr(13) & "dessen Inhalt angezeigt werden soll:"
myPath = GetDirectory(Msg)
MsgBox "Sie haben das Verzeichnis: " & myPath & " ausgewählt"
End Sub

Anzeige
AW: Code von Ramses
04.02.2007 18:00:49
Ramses
Hallo Florian,
erstmal vielen Dank.
Leider läuft dies bei mir nicht.
Habe den Code in ein Modul gepackt, folgende Zellen werden rot dargestellt
Declare
Function SHGetPathFromIDList Lib "SHELL32.DLL" _
Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Declare
Function SHBrowseForFolder Lib "SHELL32.DLL" _
Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Vieleicht weiß Du mir ja rat.
Gruß
Sophie
AW: Code von Ramses
04.02.2007 18:21:05
Ramses
Hi,
Declare und der Rest müssen in einer Zeile stehen:
Declare Function SHGetPathFromIDList Lib "SHELL32.DLL" _
Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Declare Function SHBrowseForFolder Lib "SHELL32.DLL" _
Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
mfg Kurt

Anzeige
AW: Code von Ramses
04.02.2007 18:40:09
Ramses
Hallo Kurt,
vielen Dank, jetzt funktioniert es. Florian Dir auch vielen Dank, genau dieses suche ich.
Gruß
Sophie

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige