Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1816to1820
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
Inhaltsverzeichnis

Ordner öffnen mit teilw. bekanntem Namen

Ordner öffnen mit teilw. bekanntem Namen
02.03.2021 09:43:38
Stefan
Hallo Excel/VBA-Gemeinde,
für mein Problem, bin ich hier im Forum Archiv bereits zu einem entsprechenden VBA Code fündig geworden. Allerdings benötige ich hier doch noch Hilfe, da meine VBA Kenntnisse dann nicht so umfangreich sind.
Es geht um den Code aus dem Thread: https://www.herber.de/forum/archiv/1272to1276/1274048_ordner_suchen_mit_teilweise_bekannte_namen.html#bottom
Für mein Problem möchte ich letztlich nur, dass sich der Ordner mit dem Suchbegriff öffnen. Es muss keine Datei gesucht und geöffnet werden.
Meine bisherigen Versuche den Quellcode so anzupassen, dass das Makro es so tut sind leider gescheitert. Kann mir hier jemand bei der Lösung helfen. Oder muss es ein ganz neuer Code sein?
Vielen Dank für eure Hilfe.

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner öffnen mit teilw. bekanntem Namen
02.03.2021 09:56:59
Nepumuk
Hallo Stefan,
so in einem bestimmten Ordner nach deinem Ordner gesucht werden ober auf einem Laufwerk oder auf dem gesamten Rechner?
Gruß
Nepumuk

AW: Ordner öffnen mit teilw. bekanntem Namen
02.03.2021 11:33:07
Stefan
Hallo Nepumuk, ich möchte mit dem Such String auf einem Laufwerk in einem definierten Pfad den Ordner mit dem Such String suchen und öffnen. Kein Ordner zu finden, dann Hinweismeldung. Ich hoffe das reicht als Erläuterung. VG

AW: Ordner öffnen mit teilw. bekanntem Namen
02.03.2021 12:12:11
Nepumuk
Hallo Stefan,
teste mal. Der Ordner der gesucht werden soll enthält den Namen Test.
Option Explicit

Private Declare PtrSafe Function ShellExecuteA Lib "shell32.dll" ( _
    ByVal hwnd As LongPtr, _
    ByVal lpOperation As String, _
    ByVal lpFile As String, _
    ByVal lpParameters As String, _
    ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As LongPtr

Private Const SW_SHOWNORMAL As Long = 1

Public Sub Test()
    
    Dim strFolder As String
    
    If SearchFolder("Test", strFolder) Then
        
        Call ShellExecuteA(0, "OPEN", strFolder, vbNullString, vbNullString, SW_SHOWNORMAL)
        
    Else
        
        Call MsgBox("Ordner nicht gefunden.", vbExclamation, "Hinweis")
        
    End If
End Sub

Private Function SearchFolder(ByVal pvstrSearchText As String, ByRef pvstrFolder As String) As Boolean
    
    Const FOLDER_PATH As String = "G:\Eigene Dateien\" 'Ordner in dem gesucht werden soll
    
    Dim strFolder As String, strPath As String
    Dim astrFolders() As String
    Dim ialngIndex1 As Long, ialngIndex2 As Long
    Dim blnFound As Boolean
    
    strPath = FOLDER_PATH
    
    If Right$(strPath, 1) <> "\" Then strPath = strPath & "\"
    
    Do
        
        strFolder = Dir$(PathName:=strPath & "*", Attributes:=vbDirectory)
        
        Do Until strFolder = vbNullString
            
            If strFolder <> "." And strFolder <> ".." Then
                
                If GetAttr(PathName:=strPath & strFolder) And vbDirectory Then
                    
                    If InStr(1, strFolder, pvstrSearchText, vbTextCompare) > 0 Then
                        
                        SearchFolder = True
                        pvstrFolder = strPath & strFolder & "\"
                        blnFound = True
                        Exit Do
                        
                    Else
                        
                        Redim Preserve astrFolders(0 To ialngIndex1)
                        astrFolders(ialngIndex1) = strPath & strFolder & "\"
                        ialngIndex1 = ialngIndex1 + 1
                        
                    End If
                End If
            End If
            
            strFolder = Dir$
            
        Loop
        
        If blnFound Then Exit Do
        
        If ialngIndex1 = ialngIndex2 Then Exit Do
        
        strPath = astrFolders(ialngIndex2)
        ialngIndex2 = ialngIndex2 + 1
        
    Loop
End Function

Gruß
Nepumuk

Anzeige
AW: Ordner öffnen mit teilw. bekanntem Namen
03.03.2021 18:23:18
Stefan
Hi Nepumuk, hat super geklappt! Vielen Dank dafür.
Ich musste nur noch Anpassungen beim Suchstring (bei mir Variable) und Suchpfad (logischerweise) vornehmen. Nochmals tausend Dank dafür!
Hättest Du auch eine Codelösung dafür, dass man das Makro durch einen Link aufruft, es dann gleich starten soll und sich automatisch schliesst, wenn der Ordner gefunden und geöffnet wurde? Für den Fall das der Hinweis kommt, schliesst sich das Makro erst nach Bestätigung von okay. (Excelfenster soll dabei nicht sichtbar sein). Datei/Workbook schliessen bekomme ich zwar hin, jedoch bekomme ich es nicht hin, wenn es die einzige Datei war, dass sich auch Excel schliesst.
Solltest Du für das Problem keine Lösung haben, wäre es auch nicht schlimm. Du hast mir schon riesig geholfen.

Anzeige
AW: Ordner öffnen mit teilw. bekanntem Namen
04.03.2021 09:12:37
Nepumuk
Hallo Stefan,
einen Link wo?
Gruß
Nepumuk

AW: Ordner öffnen mit teilw. bekanntem Namen
04.03.2021 17:14:48
Stefan
Hallo Nepumuk, ich meinte es wie folgt:
Der Nutzer startet das Makro durch einen "verlinkten" Button.
Dieser ruft das Makro auf und startet es automatisch.
Es wird der Suchstring aus einer Bildschirmmaske ausgelesen (das hatte ich programmiert) und der im Makro hinterlegte Pfad nach dem Ordner mit Suchstring durchsucht.
Wird der Ordner gefunden, wird er geöffnet, andernfalls kommt ein Hinweis. Das hast Du freundlicherweise programmiert.
Ich bekomme zwar hin, dass das Makro nach Aufruf startet, den Suchstring ausliest und den Ordner sucht, öffnet oder einen Hinweis auswirft. Ich bekomme es jedoch nicht hin, dass sich das Makro und Excel (wenn es die einzige offene Datei gewesen war) schliesst. Auch bekomme ich es nicht hin, dass Excel im Hintergrund ist, wenn das Hinweisfenster erscheint.
Ich hoffe ich konnte deutlichmein Problem beschreiben. Soll ich ggf. mal den Code posten oder eine Datei? Viele Grüße aus dem Norden..... Stefan

Anzeige
AW: Ordner öffnen mit teilw. bekanntem Namen
04.03.2021 17:24:11
Nepumuk
Hallo Stefan,
ohne die Datei wird das nichts.
Gruß
Nepumuk

AW: Ordner öffnen mit teilw. bekanntem Namen
06.03.2021 09:59:34
Nepumuk
Hallo Stefan,
da kann ich dir nicht weiterhelfen denn du benutzt eine Bibliothek in der Mappe die es auf meinem Rechner nicht gibt.
Ich lass die Frage offen.
Gruß
Nepumuk

AW: Ordner öffnen mit teilw. bekanntem Namen
08.03.2021 22:51:55
Tobias
Hallo Stefan und Nepumuk,
ohne in die Datei geschaut zu haben, aber fehlt nicht nur ein Application.Visible = False zu Beginn und ein ThisWorkbook.Close false hinter dem ShellExecute und MsgBox Befehl?
Schöne Grüße
Tobias

Anzeige
AW: Ordner öffnen mit teilw. bekanntem Namen
11.03.2021 17:52:57
Stefan
Hi Tobias, ich war ein paar Tage nicht im "Netz" unterwegs. Daher erst jetzt meine Reaktion. Ich schaue mir die Punkte mal an. Danke. VG

AW: Ordner öffnen mit teilw. bekanntem Namen
22.03.2021 15:18:25
Stefan
Hi Tobias, ich war ein paar Tage nicht im "Netz" unterwegs. Daher erst jetzt meine Reaktion. Ich schaue mir die Punkte mal an. Danke. VG

AW: Ordner öffnen mit teilw. bekanntem Namen
11.03.2021 17:51:31
Stefan
Hi Nepumuk, war ein paar Tage nicht im "Netz" unterwegs. Daher etwas verzögert. Danke trotzdem. Gruß

AW: Ordner öffnen mit teilw. bekanntem Namen
10.03.2021 09:45:15
Nepumuk
Hallo Stefan,
nochmal, da kann ich dir nicht weiterhelfen denn du benutzt eine Bibliothek in der Mappe die es auf meinem Rechner nicht gibt.
Gruß
Nepumuk
Anzeige

27 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige