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

Pfad von Ordner über "Öffnen-Fenster" einlesen

Pfad von Ordner über "Öffnen-Fenster" einlesen
27.07.2007 00:00:00
Ordner

Hallo Excel-Gemeinde,
mal wieder ein Problem, bei dem ihr mir hoffentlich helfen könnt.
Kleine Vorgeschichte:
Ich hab ein Makro geschrieben, das aus einem Dateiordner verschiedene Excel-Dateien als weitere Tabellenblätter in die "Hauptarbeitsmappe" kopiert. Dafür lass ich eine Inputbox öffnen, in die ich manuell den Pfad des Quellordners eingebe, in dem die zu kopierenden .xls-Datein liegen. Danach öffnet sich eine Userform, in der ich die zu kopierenden Dateien auswählen kann, die sich in diesem Ordner befinden.
Problem:
Ich finde es sehr lästig, den Pfad manuell einzugeben oder per Copy-Paste einzufügen. Daher wäre es schön, wenn ich das bei Windows standardmäßige Öffnen-Fenster benutzen könnte.
Ich habe jetzt schon herausgefunden, wie dieses Fenster benutzen könnte:
DatOP=Application.GetOpenFilename("Excel-Dateien(*.xls),*.xls")
If DatOp = False then Exit Sub
Workbooks.Open Filename:=DatOP
Das Problem ist allerdings, dass ich über dieses Fenster eigentlich nur den Pad eines Ordners einlesen will.
Ich will also keine Datei öffnen, sondern nur den Pfad eines Ordner in eine Variable speichern. Der Pfad soll über dieses Fenster gesucht werden können.
Hoffe es kann mir jemand helfen.
Gruß Uli

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

Betreff
Datum
Anwender
Anzeige
AW: Pfad von Ordner über "Öffnen-Fenster" einlesen
27.07.2007 06:54:00
Ordner
Hallo Uli,
aus den Beispielen von Hans:
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


Sub DirAuswahl()
Dim sMsg As String, sPath As String
sMsg = "Wählen Sie bitte einen Ordner aus:"
sPath = getdirectory(sMsg)
If sPath  "" Then MsgBox sPath
End Sub



Function getdirectory(Optional msg) As String
Dim bInfo As BROWSEINFO
Dim Path As String
Dim r As Long, x As Long, pos As Integer
bInfo.pidlRoot = 0&
If IsMissing(msg) Then
bInfo.lpszTitle = "Wählen Sie bitte einen Ordner aus."
Else
bInfo.lpszTitle = msg
End If
bInfo.ulFlags = &H1
x = SHBrowseForFolder(bInfo)
Path = Space$(512)
r = SHGetPathFromIDList(ByVal x, ByVal Path)
If r Then
pos = InStr(Path, Chr$(0))
getdirectory = Left(Path, pos - 1)
Else
getdirectory = ""
End If
End Function


Die Darstellung hat nicht so hin, daher das Makro nochmal in folgender Datei:
https://www.herber.de/bbs/user/44481.xls
Gruß
Heinz

Anzeige
AW: Pfad von Ordner über "Öffnen-Fenster" einlesen
27.07.2007 07:14:14
Ordner
Hallo,
oder Du nutzt den ab OfficeXP eingeführten "Application.FileDialog":

Option Explicit
Public Sub Ordner_Auswahl()
Dim strVerzeichnis As String
Dim strOrdner As String
strOrdner = "C:\Temp\"
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = strOrdner
.Title = "Ordnerauswahl"
.ButtonName = "Auswahl..."
.InitialView = msoFileDialogViewList
If .Show = -1 Then
strVerzeichnis = .SelectedItems(1)
If Right(strVerzeichnis, 1)  "\" Then strVerzeichnis = strVerzeichnis & "\"
Else
MsgBox "Es wurde kein Ordner ausgewaehlt!"
Exit Sub
End If
End With
MsgBox strVerzeichnis
End Sub



Servus

Case

Anzeige
AW: Pfad von Ordner über "Öffnen-Fenster" einlesen
27.07.2007 14:48:08
Ordner
Hallo haw, hallo Case,
vielen Dank für eure schnelle Hilfe, funktioniert beides einwandfrei. Ich werde es wahrscheinlich über Application.FileDialog machen. Ist ein bisschen kürzer und für mich verständlicher. Das Makro muss allerdings auch auf einem Rechner mit Office 2002 funktionieren. Ist Office XP vor oder nach Office2002 erschienen, oder ist das sogar identisch?
Gruß
Uli

AW: Pfad von Ordner über "Öffnen-Fenster" einlesen
27.07.2007 19:33:00
Ordner
Hallo,
JOU - mit 2002 bzw. Office XP müsste das auch laufen.
Servus
Case

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige