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

Temp Pfad

Forumthread: Temp Pfad

Temp Pfad
28.11.2008 14:33:00
Manfred
Halllo zusammen.
Ich habe folgendes Problem.
Auf einem Rechner können bei uns mehrere User arbeiten.
Für jeden der sich anmeldet (natürlich immer nur einer) steht ein eigener Temp Ordner zur Verfügung.
C:\Documents and Settings\Name\Local Settings\Temp
"Name" steht hier für den Username (z. B. Schmitz).
Unter DOS wird eine Variable mit dem Namen "%Temp%" angelegt, unter der dieser Pfad abgelegt wird.
Wie kann ich nun mit VBA unter Excel diesen Pfad auslesen, um dort Dateien abzuspeichern.
Dies natürlich für jeden User unter seinem eigenen Temp-Ordner.
Gruß
und danke im vorraus
Manfred
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
So
28.11.2008 14:52:00
Backowe
Hi Manfred,
Pfad = "Documents and Settings\" & environ(UserName) & "\Local Settings\Temp\"
Gruß Jürgen
AW: So
28.11.2008 15:27:00
Manfred
Hallo Jürgen,
deine Lösung ist genau die richtige.
Musste nur environ(UserName) in environ("UserName") ändern.
Gruß
und vielen Dank
Manfred
Sorry, daß ich die Anführungsstriche ...
28.11.2008 15:39:00
Backowe
Hallo Manfred,
... vergessen hatte, habe den String aus dem Kopf hingeschrieben, nicht kopiert! ;o)
Gruß Jürgen
Anzeige
AW: So
28.11.2008 15:32:00
Luschi
Hallo Jürgen,
ich sitze hier an einem Firmenrechner, bei dem das Temp-Verzeichnis per Login-Script verändert wird.
Deshalb ist die folgende Methode sicherer:
http://www.vb-fun.de/vb/tipps/tip0274.shtml
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Temp Pfad
28.11.2008 15:52:00
Tino
Hallo,
so müsste es auch gehen,
es wird der Pfad in der MS-Dos kompatible Schreibweise ausgegeben, funktioniert aber auch.

Dim strPfad As String
strPfad = IIf(Right$(Environ$("TEMP"), 1) = "\", Environ$("TEMP"), Environ$("TEMP") & "\")
Debug.Print strPfad


Gruß Tino

Anzeige
;
Anzeige

Infobox / Tutorial

Temp Ordner in Excel VBA finden und nutzen


Schritt-für-Schritt-Anleitung

Um den Temp-Ordner in Excel VBA auszulesen und zu nutzen, folge diesen Schritten:

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

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  3. Gib den folgenden VBA-Code ein, um den Pfad zum Temp-Verzeichnis zu ermitteln:

    Dim strPfad As String
    strPfad = Environ("TEMP")
    Debug.Print strPfad
  4. Führe den Code aus: Drücke F5, um den Code auszuführen. Der Pfad wird im Direktfenster angezeigt.

  5. Verwende den Pfad, um Dateien im Temp-Ordner zu speichern.

Durch diesen einfachen VBA-Befehl kannst du den temp-Ordner für jeden Benutzer auf deinem Rechner finden und verwenden.


Häufige Fehler und Lösungen

  • Fehler: „Pfad nicht gefunden“

    • Lösung: Stelle sicher, dass die Umgebungsvariable korrekt geschrieben ist. Verwende Environ("TEMP"), um den Pfad auszulesen.
  • Fehler: Zugriff verweigert

    • Lösung: Überprüfe die Berechtigungen des Temp-Ordners. Möglicherweise benötigst du Administratorrechte, um auf bestimmte Dateien zuzugreifen.

Alternative Methoden

Wenn du alternative Wege suchst, um den Temp-Ordner zu finden, kannst du auch die Windows-Shell verwenden:

Dim wsh As Object
Set wsh = CreateObject("WScript.Shell")
Dim tempPfad As String
tempPfad = wsh.ExpandEnvironmentStrings("%TEMP%")
Debug.Print tempPfad

Diese Methode gibt dir ebenfalls den Pfad zum temporären Verzeichnis zurück und ist besonders nützlich, wenn du in einer Umgebung arbeitest, in der die Umgebungsvariablen geändert wurden.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du den Temp-Ordner in Excel VBA nutzen kannst:

  1. Eine Datei im Temp-Ordner speichern:

    Dim tempDatei As String
    tempDatei = Environ("TEMP") & "\meineDatei.txt"
    Open tempDatei For Output As #1
    Print #1, "Dies ist ein Test."
    Close #1
  2. Eine Liste aller Dateien im Temp-Ordner ausgeben:

    Dim tempPfad As String
    Dim datei As String
    
    tempPfad = Environ("TEMP") & "\"
    datei = Dir(tempPfad & "*.*")
    
    Do While datei <> ""
       Debug.Print datei
       datei = Dir
    Loop

Tipps für Profis

  • Verwende Debug.Print: Nutze Debug.Print, um den Pfad oder andere Variablen zu überprüfen, ohne Dialogfenster zu verwenden.
  • Error Handling: Implementiere Fehlerbehandlungsroutinen, um Probleme beim Zugriff auf den Temp-Ordner besser zu erkennen und zu lösen.
  • Temporäres Verzeichnis löschen: Sei vorsichtig beim Löschen von Dateien im Temp-Ordner; stelle sicher, dass die Dateien nicht mehr benötigt werden.

FAQ: Häufige Fragen

1. Wie finde ich den Temp-Ordner für einen anderen Benutzer?
Du kannst den Temp-Ordner eines anderen Benutzers finden, indem du den Benutzernamen in den Pfad einfügst: C:\Documents and Settings\Username\Local Settings\Temp.

2. Kann ich den Temp-Ordner in einer Excel-Version vor 2010 verwenden?
Ja, die oben genannten Methoden funktionieren auch in älteren Excel-Versionen, solange VBA unterstützt wird.

3. Was ist der Unterschied zwischen TEMP und TMP?
Beide Umgebungsvariablen verweisen auf temporäre Verzeichnisse, aber TEMP ist gängiger. TMP kann in einigen Anwendungen anders konfiguriert sein.

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