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

getsaveasfilename --> pfad voreinstellen?

Forumthread: getsaveasfilename --> pfad voreinstellen?

getsaveasfilename --> pfad voreinstellen?
21.07.2005 08:57:09
Michael
hallo!
irgendwie habe ich in der "rescherche" nichts gefunden, außer schon einmal eine ähnliche frage ohne antwort, darum probier ich es noch einmall:
ich habe in ein makro ein "getsaveasfilename" eingebaut. das funktioniert soweit tadellos, allerings wird immer mein zuletzt angezeigtes verzeichnis verwendet. da die datei immer vorher neu gestartet wird, ist das immer ein I:\ ich möchte aber einen anderen pfad (nämlich den, in dem die datei zuerst gespeichert ist) als default angeben.
ist dies bei getsaveasfilename irgendwie möglich?
wie könnt ich das sonst machen?
vielen dank für antworten
liebe grüße aus österreich
michael
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: getsaveasfilename --> pfad voreinstellen?
21.07.2005 09:14:53
Matthias
Hallo Michael,
ChDrive (ThisWorkbook.Path)
ChDir (ThisWorkbook.Path)
fn = GetSaveAsFilename(...)
Gruß Matthias
AW: getsaveasfilename --> pfad voreinstellen?
21.07.2005 09:28:18
UweD
Hallo
so z.B.
Pfad = "C:\temp\"
Vorgabe = "Testdatei"
Filename = Application.GetSaveAsFilename(Pfad & Vorgabe, fileFilter:="HTML-Dateien (*.htm), *.htm")
Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: getsaveasfilename --> pfad voreinstellen?
21.07.2005 09:33:35
Michael
mei, so einfach gehts, wenn man weiß wie!
jedenfalls passt es perfekt, funktioniert genau so, wie ich es wollte, wobei ich jetzt die variante von matthias genommen hab, weil ich ja das aktuelle pfadding wollte!
SUPI!!!!
michael
;
Anzeige

Infobox / Tutorial

Voreinstellen des Pfades bei GetSaveAsFilename in Excel VBA


Schritt-für-Schritt-Anleitung

Um den Standardpfad für die Application.GetSaveAsFilename-Methode in Excel VBA voreinzustellen, kannst Du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor in Excel (Alt + F11).

  2. Füge ein neues Modul hinzu:

    • Rechtsklick auf "VBAProject (DeineDatei.xlsm)" > Einfügen > Modul.
  3. Gib den folgenden Code ein:

    Sub SpeicherortVoreinstellen()
       Dim Pfad As String
       Dim Vorgabe As String
       Dim Filename As Variant
    
       ' Definiere den gewünschten Pfad
       Pfad = "C:\temp\"
       Vorgabe = "Testdatei"
    
       ' Setze den Standardpfad und den Dateinamen
       Filename = Application.GetSaveAsFilename(Pfad & Vorgabe, fileFilter:="HTML-Dateien (*.htm), *.htm")
    
       ' Überprüfe, ob der Benutzer einen Dateinamen ausgewählt hat
       If Filename <> False Then
           MsgBox "Datei gespeichert unter: " & Filename
       Else
           MsgBox "Speichern abgebrochen."
       End If
    End Sub
  4. Führe das Makro aus, um den voreingestellten Pfad zu testen.


Häufige Fehler und Lösungen

  • Fehler: "Pfad nicht gefunden"

    • Lösung: Vergewissere Dich, dass der angegebene Pfad existiert. Ansonsten erstelle den Ordner oder wähle einen anderen Pfad.
  • Problem: Benutzer kann den Pfad nicht ändern

    • Lösung: Der Benutzer kann den Pfad in der Dialogbox ändern. Stelle sicher, dass Du Application.GetSaveAsFilename korrekt implementierst, um die Flexibilität zu gewährleisten.

Alternative Methoden

Eine alternative Methode zur Festlegung des Standardspeicherorts ist die Verwendung von ChDrive und ChDir, um das aktuelle Verzeichnis zu ändern:

ChDrive (ThisWorkbook.Path)
ChDir (ThisWorkbook.Path)
Filename = Application.GetSaveAsFilename()

Diese Methode stellt sicher, dass der Pfad auf den Speicherort der aktuellen Arbeitsmappe eingestellt wird.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung von GetSaveAsFilename in unterschiedlichen Szenarien:

  • Beispiel 1: Voreinstellung mit dynamischem Pfad

    Pfad = ThisWorkbook.Path & "\"
    Filename = Application.GetSaveAsFilename(Pfad & "NeuerDateiname", fileFilter:="Excel-Dateien (*.xlsx), *.xlsx")
  • Beispiel 2: Verwendung von FileFilter

    Filename = Application.GetSaveAsFilename(fileFilter:="Textdateien (*.txt), *.txt")

Diese Beispiele zeigen, wie Du GetSaveAsFilename effektiv anpassen kannst.


Tipps für Profis

  • Verwende die fileFilter-Option, um die Auswahlmöglichkeiten für den Benutzer zu beschränken. So wird die Benutzererfahrung verbessert.
  • Achte darauf, dass Du die Rückgabe von GetSaveAsFilename überprüfst, um sicherzustellen, dass der Benutzer einen gültigen Dateinamen gewählt hat.
  • Halte Deinen Code sauber und kommentiere wichtige Teile, damit Du und andere den Code leicht verstehen können.

FAQ: Häufige Fragen

1. Kann ich den Standardpfad dauerhaft ändern?
Nein, der Standardpfad kann nur temporär für die aktuelle Sitzung in VBA festgelegt werden.

2. Was mache ich, wenn die Datei nicht gespeichert wird?
Überprüfe, ob der Benutzer die "Abbrechen"-Schaltfläche in dem Dialogfeld gedrückt hat. Die Rückgabe von Application.GetSaveAsFilename wird False sein.

3. Unterstützt GetSaveAsFilename alle Dateiformate?
Ja, Du kannst verschiedene Dateiformate über die fileFilter-Option angeben. Achte darauf, die korrekten Filter zu verwenden, um die Benutzerfreundlichkeit zu verbessern.

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