Clever-Excel-Forum

Normale Version: VBA Ordner öffnen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Moin,

dank Dr. Google habe ich einen Code gefunden (ich glaube der ist sogar von steve1da, bin mir aber nicht sicher), der Dateien öffnet. Der müsste aber so umgeschrieben werden, dass sich nur ein Ordner öffnet und keine Datei. In der TextBox sollen auch immer nur Ordnernamen eingegeben und diese dann geöffnet werden.
Code:
Option Explicit

#If Win64 Then
    Private Declare PtrSafe Function SearchTreeForFile Lib "imagehlp.dll" _
        (ByVal RootPath As String, ByVal InputPathName As String, _
        ByVal OutputPathBuffer As String) As Long
#End If

#If Win64 Then
    Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
        (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
        ByVal lpParameters As String, ByVal lpDirectory As String, _
        ByVal nShowCmd As Long) As Long
#End If

Private Const SW_MAXIMIZE = 3
Const strPath As String = "C:\Users\StefanB\Desktop"

Private Sub CommandButton1_Click()
    Dim strPathName As String * 255
    Dim strName As String
    Dim lngTMP As Long
    On Error GoTo Fin
    If Trim(TextBox1.Text) <> "" Then
        lngTMP = SearchTreeForFile(strPath, "*" & TextBox1.Text & "*", strPathName)
        If lngTMP = 0 Then
            ' Datei nicht vorhanden!
            MsgBox "File not found!"
        Else
            strPathName = Left$(strPathName, InStr(1, strPathName, vbNullChar) - 1)
            strName = RTrim(strPathName)
            ShellExecute 0, "Open", strName, "", "", SW_MAXIMIZE
        End If
    End If
Fin:
    If Err.Number <> 0 Then MsgBox "Error: " & _
        Err.Number & " " & Err.Description
End Sub
Ich steh da grad nen bissl aufm Schlauch Huh
Was immer Du mit Order öffnen (ShellExecute öffnet letztenlich "nur" die verknüpfte Anwendung) meinst, geht das wesentlich leichter mit
Code:
Application.FileDialog(msoFileDialogFolderPicker)

https://wellsr.com/vba/2016/excel/vba-se...derPicker/
Der eigentliche Pfad beinhaltet ca. 80.000 Ordner in denen jeweils Dateien gespeichert wurden. Um nun den richtigen Ordner schnell finden zu können, soll mittels Eingabe in der TextBox dieser geöffnet werden. Das liest sich jetzt sicherlich total behämmert, weil ja Windows von Hause aus schon eine Suchfunktion hat, ABER ich muss es mit Excel und einer UserForm machen.
Mit dem Code kann man per Button, Ordner auswählen...habe Ihn irgendwann mal aus dem Internet gefunden und benutze Ihn wenn es nötig ist...vielleicht hilft er ja

Code:
Private Sub CommandButton1_Click()
    Dim AppShell As Object
    Dim BrowseDir As Variant
    Dim Pfad As String
    Set AppShell = CreateObject("Shell.Application")
    Set BrowseDir = AppShell.BrowseForFolder(0, "Ordner auswählen", &H1000, 17)
    On Error Resume Next
    Pfad = BrowseDir.items().Item().Path
    If Pfad = "" Then Exit Sub
    TextBox1 = Pfad
    On Error GoTo 0
End Sub
Datei mit Beispiel: [attachment=41582]

Wenn es nicht das ist was gewünscht ist... Bitte einfach ignorieren 87

Danke,
78
Niko
Danke Niko, aber der Code hilft mir nicht so richtig weiter. Da suche ich mir einen Wolf den richtigen Ordner zu finden 26
Hallöchen,

Zitat:Um nun den richtigen Ordner schnell finden zu können, soll mittels Eingabe in der TextBox dieser geöffnet werden.
ThisWorkbook.FollowHyperlink "c:\Temp"
Aha, und wir sollen DIr hier den fertigen Code schreiben.
Was passiert denn, wenn es mehrere Verzeichnisse mit dem gleichen Namen gibt?

Ansonsten google hilft
https://stackoverflow.com/a/46646498
Hallöchen,

Zitat:Aha, und wir sollen DIr hier den fertigen Code schreiben.

glaub ich eher nicht.

Zitat:Was passiert denn, wenn es mehrere Verzeichnisse mit dem gleichen Namen gibt?

glaub ich auch nicht, jedenfalls nicht als Unterordner eines Ordners.

100
Glaub ich schon, und zwar beides.

Sorry, aber die zweite Aussage ist ja fast schon beleidigend. Natürlich gibt es nicht zwei (Unter-)Verzeichnisse mit dem gleichen Namen in einem Verzeichnis, aber so wie ich das verstehe, will er einen kompletten Teilbaum durchsuchen.
(05.01.2022, 13:34)Warkings schrieb: [ -> ]Aha, und wir sollen DIr hier den fertigen Code schreiben.
Was passiert denn, wenn es mehrere Verzeichnisse mit dem gleichen Namen gibt?

Du musst mir keinen fertigen Code servieren! Mir reicht eine Info an welcher Stelle ich was ändern muss und warum.
Es gibt nur ein Verzeichnis in dem alle Ordner hinterlegt sind.
Seiten: 1 2