Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ordner suchen nach Namensbestandteil

Forumthread: Ordner suchen nach Namensbestandteil

Ordner suchen nach Namensbestandteil
03.04.2005 08:19:16
Ingo Harder
Hallo,
in einem Verz. (feststehender Pfad) sind etliche Unterordner (in einer
Ebene) enthalten, die alle mit
dem jeweiligen Usernamen beginnen (8stellig) plus weiterer individueller
Angaben.
Den jeweils angemeldeten User bekomme ich per VBA ausgelesen.
Wie kann ich das Verz. nach dem Unterordner durchsuchen,
dessen Bezeichnung mit dem Namen des angemeldeten User beginnt
und diesen Ordner dann öffnen lassen ?
Danke
Ingo
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner suchen nach Namensbestandteil
03.04.2005 09:12:31
Oberschlumpf
Hi Ingo
In einem Verzeichnis sind 3 Unterverzeichnisse gespeichert:
Userbild

(mein Username ist GobiUser)
Mit diesem Makro...


Sub DirOpen()
    Dim lstrVerz As String
    
    lstrVerz = Dir("DEIN FESTES VERZEICHNIS\*" & Environ("username") & "*", vbDirectory)
    
        If lstrVerz <> "" Then
            ChDrive (Left("DEIN FESTES VERZEICHNIS\", 3))
            ChDir ("DEIN FESTES VERZEICHNIS\" & lstrVerz)
            Open "Bsp-Datei.txt" For Append As #1
            Close
        End If
            
End Sub

...suche ich in DEM Verzeichnis, in dem die 3 Unterverzeichnisse gespeichert sind, nach DEM Verzeichnis, welches meinen Usernamen als Textteil enthält (hier GobiUser-xls).
Wenn gefunden, wird mit ChDrive und ChDir in dieses Verzeichnis gewechselt, und es wird eine Bsp-TXT-Datei erstellt.
Wichtig!
Im VBA-Code musst Du für "DEIN FESTES VERZEICHNIS" eben auch genau den Pfad für das von Dir bekannte Verzeichnis eintragen. Der Backslash ("\") darf nicht gelöscht werden.
Konnte ich denn helfen?
Ciao
Thorsten
Anzeige
AW: Ordner suchen nach Namensbestandteil
04.04.2005 14:49:07
Ingo Harder
Hallo Thorsten,
dass war eine klasse Antwort ;-)
Damit konnte ich nun gezielt das Verz. des angemeldeten
User deklarieren und als Parameter für einen call shell
an den Explorer übergeben - perfekt.
Vielen Dank !
Gruß, Ingo
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Ordner suchen nach Namensbestandteil in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um einen Ordner zu suchen, dessen Name mit dem Benutzernamen des angemeldeten Users beginnt, kannst Du das folgende VBA-Skript verwenden. Achte darauf, dass Du das feste Verzeichnis anpassen musst.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu (Einfügen > Modul).

  3. Kopiere den folgenden Code in das Modul:

    Sub DirOpen()
       Dim lstrVerz As String
       lstrVerz = Dir("DEIN FESTES VERZEICHNIS\*" & Environ("username") & "*", vbDirectory)
    
       If lstrVerz <> "" Then
           ChDrive (Left("DEIN FESTES VERZEICHNIS\", 3))
           ChDir ("DEIN FESTES VERZEICHNIS\" & lstrVerz)
           Open "Bsp-Datei.txt" For Append As #1
           Close
       End If
    End Sub
  4. Ersetze DEIN FESTES VERZEICHNIS mit dem tatsächlichen Pfad, in dem die Ordner gespeichert sind.

  5. Schließe den VBA-Editor und führe das Makro aus.

Nun sollte das Skript den Ordner suchen und öffnen, der mit Deinem Benutzernamen beginnt.


Häufige Fehler und Lösungen

  • Problem: Das Makro findet den gewünschten Ordner nicht.

    • Lösung: Überprüfe, ob der Pfad korrekt eingegeben wurde und dass der Benutzername tatsächlich mit dem gesuchten Ordnernamen übereinstimmt.
  • Problem: Fehlermeldung beim Öffnen der Datei.

    • Lösung: Stelle sicher, dass Du Schreibrechte für das Verzeichnis hast und dass der Ordner existiert.

Alternative Methoden

Eine andere Möglichkeit, im VBA-Umfeld nach Ordnern zu suchen, ist die Verwendung von Application.FileDialog. Damit kannst Du ein Dialogfeld öffnen, um den Benutzer einen Ordner auswählen zu lassen.

Sub BrowseForFolder()
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)

    With fd
        .Title = "Wähle einen Ordner"
        .AllowMultiSelect = False
        If .Show = -1 Then
            MsgBox "Ordner ausgewählt: " & .SelectedItems(1)
        End If
    End With
End Sub

Praktische Beispiele

Wenn Du das Skript anpassen möchtest, um nicht nur nach dem Benutzernamen, sondern auch nach spezifischen Mustern zu suchen, könntest Du den Dir-Befehl erweitern. Zum Beispiel, um nach Ordnern zu suchen, die mit "Projekt" beginnen:

lstrVerz = Dir("DEIN FESTES VERZEICHNIS\Projekt*.*", vbDirectory)

Tipps für Profis

  • Nutze die Option Explicit-Anweisung am Anfang Deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. So vermeidest Du Fehler und erhöhst die Lesbarkeit Deines Codes.
  • Für komplexere Suchen solltest Du die Scripting.FileSystemObject-Bibliothek verwenden. Diese bietet erweiterte Funktionen zum Arbeiten mit Dateien und Ordnern.

FAQ: Häufige Fragen

1. Wie kann ich den Pfad dynamisch anpassen?
Du kannst den Pfad entweder über Eingaben in den Excel-Zellen beziehen oder ein zusätzliches Eingabedialogfeld nutzen.

2. Funktioniert das auch in Excel Online?
Leider ist VBA nicht in Excel Online verfügbar. Die oben beschriebenen Methoden sind nur in der Desktop-Version von Excel anwendbar.

3. Was ist, wenn ich mehrere Benutzerordner habe?
Das Skript sucht nach dem ersten Ordner, der dem Muster entspricht. Du kannst das Skript erweitern, um alle passenden Ordner aufzulisten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige