Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Variablen Desktop-Pfad ermitteln

Forumthread: Variablen Desktop-Pfad ermitteln

Variablen Desktop-Pfad ermitteln
07.10.2018 22:30:53
MarC
Guten Abend alle zusammen,
ich habe ein kleines Excel Tool mit dem ich Text- oder Zip-Dateien immer vom Desktop einlese. Das Excel File befindet sich auf einem Netzlaufwerk. Und ich vermute das wenn andere Personen darauf zugreifen die ein anderen Desktop Pfad haben als ich erhalten die genau diese Fehlermeldungen "Laufzeitfehler 53 - Datei nicht gefunden" oder "Laufzeitfehler 91 - Objektvariable oder With-Blockvariable nicht festgelegt".
Es Ist nur eine Vermutung das es an dem Pfad liegt, denn bei mir funktioniert das Excel Tool immer aber wenn ich es auf einem anderen Rechner ausführe erhalte ich die oben genannten Meldungen.
Ich denke mal das es vielleicht an der VBA Zeile liegt:
NameUnZipFolder = "C:\Users\" & Application.UserName & "\Desktop\"
Liege ich mit meiner Vermutung richtig und wenn ja kann mir bitte jemand helfen den Fehler zu beseitigen?
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Variablen Desktop-Pfad ermitteln
07.10.2018 22:55:48
EtoPHG
Hallo,
So:
NameUnZipFolder = environ("UserProfile") & "\Desktop\"
Gruess Hansueli
Danke Hansueli
07.10.2018 23:00:52
MarC
Ich habe auch gerade eine Lösung gefunden:
Public strDesktopPath As String
Private Sub Workbook_open()
Dim WSHShell As Object
Set WSHShell = CreateObject("wscript.Shell")
strDesktopPath = WSHShell.SpecialFolders.Item("Desktop")
End Sub
Den ermittelten Pfad speichere ich an eine Globale Variable und übergebe ihn dann an
NameUnZipFolder = strDesktopPath
Leider erhalte ich immer noch die Fehlermeldung. Das heißt meine Vermutung war leider falsch =(
Wenn ich eine neue Idee habe an was es liegen könnte werde ich mich wieder melden
Anzeige
Idee: poste den ganzen Code! (owT)
08.10.2018 08:14:54
EtoPHG

AW: Idee: poste den ganzen Code! (owT)
09.10.2018 00:30:32
Marc
Der wäre glaube ich zu lang gewesen. Daher habe ich eine Vorgängerversion genommen in der der Fehler noch nicht aufgetreten ist. Jetzt funktioniert es wieder aber ich muss meine Änderungen aus der fehlerhaften Version nochmal überdenken.
AW: Danke Hansueli
08.10.2018 08:58:52
Nepumuk
Hallo Marc,
du hast die Variable strDesktopPath als öffentliche Variable in einem Klassenmodul deklariert. Damit ist sie keine öffentliche Variable sondern eine Eigenschaft der Klasse.
Mach die Deklaration der Variablen in einem Standardmodul dann sollte es passen.
Und benutze Option Explicit das hätte dir nämlich gesagt dass die Variable nicht deklariert ist.
Gruß
Nepumuk
Anzeige
Danke
09.10.2018 00:28:44
Marc
Danke für den Tipp
;
Anzeige
Anzeige

Infobox / Tutorial

Variablen Desktop-Pfad ermitteln in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne dein Excel-Dokument und wechsle in den VBA-Editor (drücke ALT + F11).

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeinDokument)", dann "Einfügen" > "Modul".

  3. Deklariere die Variable für den Desktop-Pfad. Nutze dazu folgenden Code:

    Public strDesktopPath As String
  4. Ermittle den Desktop-Pfad. Füge den folgenden Code in das Modul ein:

    Private Sub Workbook_Open()
       Dim WSHShell As Object
       Set WSHShell = CreateObject("wscript.Shell")
       strDesktopPath = WSHShell.SpecialFolders.Item("Desktop")
    End Sub
  5. Verwende den Desktop-Pfad in deinem Code, um Dateien zu lesen oder zu speichern:

    NameUnZipFolder = strDesktopPath
  6. Teste dein Excel-Tool auf verschiedenen Rechnern, um sicherzustellen, dass der desktop pfad korrekt ermittelt wird.


Häufige Fehler und Lösungen

  • Laufzeitfehler 53 - Datei nicht gefunden: Dieser Fehler tritt auf, wenn der Pfad nicht korrekt ist. Stelle sicher, dass der vba desktop path korrekt ermittelt wurde.
  • Laufzeitfehler 91 - Objektvariable oder With-Blockvariable nicht festgelegt: Dies kann passieren, wenn die Variable nicht richtig deklariert oder initialisiert wurde. Verwende Option Explicit, um sicherzustellen, dass alle Variablen deklariert sind.
  • Variablen nicht global: Wenn du die strDesktopPath in einem Klassenmodul deklariert hast, wird sie nicht als globale Variable erkannt. Deklariere sie in einem Standardmodul.

Alternative Methoden

  • Verwendung von Environ: Du kannst den Desktop-Pfad auch mit der Environ-Funktion ermitteln. Der folgende Code ist eine einfache Alternative:

    NameUnZipFolder = Environ("UserProfile") & "\Desktop\"
  • VBA-Umgebungsvariablen: Du kannst auch andere Umgebungsvariablen nutzen, um spezifische Pfade zu ermitteln.


Praktische Beispiele

  1. Lese eine Textdatei vom Desktop:

    Dim filePath As String
    filePath = strDesktopPath & "deineDatei.txt"
    Open filePath For Input As #1
  2. Speichere eine Datei auf dem Desktop:

    Dim savePath As String
    savePath = strDesktopPath & "neueDatei.txt"
    Open savePath For Output As #1
    Print #1, "Hallo Welt!"
    Close #1

Tipps für Profis

  • Verwende Option Explicit: Dies hilft dir, Schreibfehler in Variablennamen zu vermeiden und sorgt für einen klareren Code.
  • Debugging: Nutze Debug.Print um den Wert deines strDesktopPath während der Ausführung zu überprüfen.
  • Variablen für verschiedene Benutzer: Wenn dein Tool von verschiedenen Benutzern verwendet wird, stelle sicher, dass es robust genug ist, um unterschiedliche desktop pfad-Strukturen zu verarbeiten.

FAQ: Häufige Fragen

1. Wie kann ich den Desktop-Pfad für einen anderen Benutzer ermitteln?
Du kannst den Desktop-Pfad eines anderen Benutzers ermitteln, indem du den entsprechenden Benutzerprofil-Pfad in der Environ-Funktion angibst.

2. Warum funktioniert mein Code nur auf meinem Computer und nicht auf anderen?
Das liegt oft daran, dass der vba desktop path nicht korrekt ermittelt wird. Stelle sicher, dass du die oben genannten Methoden verwendest, um den Pfad dynamisch zu ermitteln.

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