Anzeige
Archiv - Navigation
228to232
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
228to232
228to232
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ordner öffnen

Ordner öffnen
11.03.2003 14:49:16
Folker
Hallo

ich möchte einen Ordner öffnen und ihn dann direkt on top anzeigen lassen. Hab sowas wie opendir nicht gefunden. Wer kann mir helfen?
Danke

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

Betreff
Datum
Anwender
Anzeige
Re: Ordner öffnen
11.03.2003 14:51:23
dku



Re: Ordner öffnen
11.03.2003 14:53:47
Bernd Held

Hallo Folker,
das kannst Du über eine API-Funktion realisieren:

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

'32-bit API-Deklarationen
Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" _
(ByVal pidl As LongByVal pszPath As StringAs Long

Declare Function SHBrowseForFolder Lib "shell32.dll" _
  Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long


Sub DirAuswahl()
    Dim msg As String
    msg = "Wählen Sie bitte einen Ordner aus:"
    MsgBox getdirectory(msg)
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

' Ausgangsordner = Desktop
    bInfo.pidlRoot = 0&

' Dialogtitel
    If IsMissing(msg) Then
        bInfo.lpszTitle = "Wählen Sie bitte einen Ordner aus."
    Else
        bInfo.lpszTitle = msg
    End If

' Rückgabe des Unterverzeichnisses
    bInfo.ulFlags = &H1

' Dialog anzeigen
    x = SHBrowseForFolder(bInfo)

' Ergebnis gliedern
    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

     Code eingefügt mit Syntaxhighlighter 1.14

Viele Grüße
Bernd
MVP für Microsoft Excel
Excel-Tipps, VBA in 21 Tagen mit Leseprobe(PDF) unter: http://held-office.de


Anzeige
Falsch verstanden
11.03.2003 15:17:52
Folker

Danke für die Antworten, aber ihr hab mich etwas falsch verstanden. Ich möchte nicht einen Browserdialog öffnen sondern einen festen Ordner angezeigt bekommen, der dessen Inhalt ich dann direkt sehen kann.
Wenn z.B. ein Fehler auftritt, soll der Logfiles Ordner geöffnet werden, damit man sie gleich sieht.
Sowas wie: opendir("c:\Logfiles")

Vielleicht bin ich bescheiden,
11.03.2003 16:48:21
Andreas Walter

aber wenn zwei Leute mich nicht verstehen, dann sag ich nicht
> ihr hab mich etwas falsch verstanden
sondern
"Ich habe mich falsch ausgedruckt"

In der Recherche über Suche und Begriff Explorer finde ich u.a.


Sub ExplorerFensterÖffnen()
VerzName = "C:\USERS\Daten"
On Error Resume Next
dd = Shell("C:\WINNT\explorer.exe /e,/n,," & VerzName, 4)
On Error GoTo 0
End Sub



Anzeige
Re: Vielleicht bin ich bescheiden,
11.03.2003 16:58:55
Folker

Erstens war mir das zu lang und zweitens hab ich eigentlich nirgends was von einem Dateidialog geschrieben. Wie auch immer. Deine Lösung würde zwar gehen, über die Shell ist aber der Nachteil, das der Pfad zum Betriebssystem bekannt sein muss. Da das ganze aber für viele Nutzer auf verschiedenen Systemen gedacht ist, wird das nicht richtig funktionieren.

Was lediglich beweist.
13.03.2003 09:18:29
Andreas Walter

dass wenn man nicht genug Information in der Frage angibt, man keine passende Antworten bekommt!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige