Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Pfad vorgeben mit "Username" - VBA

Pfad vorgeben mit "Username" - VBA
15.08.2005 12:11:36
Wolfgang
Hallo*
ich benötige einmal wieder die Hilfestellung des Forums:
Aus einer txt-datei werden Daten in Excel importiert.
Nun möchte ich gerne den Pfad direkt vorgeben,stolpere aber über ein Problem.
In C:\Dokumente und Einstellungen\.... - gibt es unter anderem einen Ordner All Users und dann einen Ordner des jeweiligen Nutzers, also in dem Falle z.B. mein Kürzel mit BergerW....und dann wieder weitere Unterordner; Wie kann ich den Pfad formulieren, damit der jeweilige Nutzer als Variabel gesetzt werden kann (ich habe schon einmal etwas von User.Application gehört, wüßte diese aber als Laie nicht logisch anzuwenden. Kann mir da vielleicht jemand helfen ? - Ich wäre erneut für eine Hilfestellung sehr dankbar.
Gruß - Wolfgang Berger
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Pfad vorgeben mit "Username" - VBA
15.08.2005 12:17:17
IngGi
Hallo Wolfgang,
Dim Pfad As String
Pfad = "C:\Dokumente und Einstellungen\" & Environ("Username") & "\Desktop\"
ChDrive "C"
ChDir Pfad
Gruß Ingolf
AW: Danke Ingolf
15.08.2005 18:07:28
Wolfgang
Hallo Ingolf,
nachdem ich Deinen Hinweis umgesetzt habe, stelle ich fest, es funktioniert einwandfrei. Super ! Nochmals herzlichen Dank und alles Gute.
Gruß - Wolfgang Berger
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Pfad vorgeben mit "Username" in Excel VBA


Schritt-für-Schritt-Anleitung

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

  2. Erstelle ein neues Modul, indem du mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" klickst und "Einfügen" > "Modul" wählst.

  3. Füge den folgenden Code in das Modul ein:

    Sub SetUserPath()
       Dim Pfad As String
       Pfad = "C:\Dokumente und Einstellungen\" & Environ("Username") & "\Desktop\"
       ChDrive "C"
       ChDir Pfad
    End Sub
  4. Schließe den VBA-Editor.

  5. Führe das Makro SetUserPath aus, um den Pfad für den jeweiligen Benutzer festzulegen.

Dieser Code verwendet die Environ-Funktion, um den aktuellen Benutzernamen abzurufen und den Pfad entsprechend zu erstellen. So kannst du den Pfad dynamisch anpassen, je nachdem, welcher Benutzer gerade angemeldet ist.


Häufige Fehler und Lösungen

  • Fehler: "Pfad nicht gefunden"

    • Lösung: Sicherstellen, dass der Benutzername korrekt ist und der Pfad existiert. Der Benutzername wird über Environ("Username") abgerufen. Überprüfe, ob der Benutzer tatsächlich einen Desktop-Ordner hat.
  • Fehler: "Zugriff verweigert"

    • Lösung: Prüfe die Berechtigungen des Benutzers für den angegebenen Ordner. Stelle sicher, dass der Benutzer Schreibrechte hat.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, den Benutzernamen in Excel VBA zu verwenden. Eine Alternative ist die Verwendung der Application.UserName-Eigenschaft, die den in Excel definierten Benutzernamen zurückgibt. Beachte jedoch, dass dies nicht immer mit dem Windows-Benutzernamen übereinstimmt.

Sub GetExcelUserName()
    MsgBox "Der aktuelle Excel-Benutzer ist: " & Application.UserName
End Sub

Praktische Beispiele

Wenn du Daten aus einer Textdatei importieren möchtest, kannst du den zuvor definierten Pfad direkt verwenden. Hier ein Beispiel, wie du eine Textdatei in Excel importierst:

Sub ImportTxtFile()
    Dim Pfad As String
    Pfad = "C:\Dokumente und Einstellungen\" & Environ("Username") & "\Desktop\deineDatei.txt"

    With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Pfad, Destination:=Range("A1"))
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .Refresh
    End With
End Sub

Tipps für Profis

  • Nutze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler durch Tippfehler zu vermeiden.
  • Verwende Debug.Print zur Fehlersuche, um den Wert von Variablen im Direktfenster anzuzeigen.
  • Integriere Fehlerbehandlungsroutinen, um robustere Makros zu erstellen. Zum Beispiel:

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    Fehlerbehandlung:
    MsgBox "Fehler: " & Err.Description

FAQ: Häufige Fragen

1. Wie kann ich den Benutzernamen in einer anderen Sprache abrufen? Du kannst die Environ-Funktion verwenden, um den Benutzernamen in der Sprache des Betriebssystems abzurufen.

2. Funktioniert dieser Code in Excel 365? Ja, der Code funktioniert in Excel VBA für alle Versionen, die die Environ-Funktion unterstützen.

3. Was ist der Unterschied zwischen Environ("Username") und Application.UserName? Environ("Username") gibt den Windows-Benutzernamen zurück, während Application.UserName den in Excel definierten Benutzernamen zurückgibt.

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