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

Forumthread: Dateiname beim speichern ändern

Dateiname beim speichern ändern
24.01.2005 12:46:06
Tina
Hallo alle miteinander
Mit diesem Code lege ich ein Jahres-Folder, sowie ein Folder
mit dem aktuellen Tagesdatum an, in dem die Datei gespeichert wird.
Klappt auch wunderbar - so nun möchte ich noch mit dem Workbook_BeforeSave
Ereignis erreichen, dass beim speichern immer die Zeit im Dateiname
aktualisiert wird.
z.B. test-9_45_21.xls muss dann, wenn ich um 12 Uhr speichere so heissen:
test-12_00_36.xls
Hoffe, dass ich mich verständlich ausgedrückt habe und mir jemand helfen kann.

Sub History()
Dim sPath As String
sPath = "H:\Data\test\"
On Error Resume Next
MkDir sPath & Format(Date, "YYYYMMDD")
sPath = sPath & Format(Date, "YYYYMMDD") & "\"
ActiveWorkbook.SaveAs sPath & _
ActiveWorkbook.Name & "-" & Format(Now(), "hh_mm_ss") & ".xls"
On Error GoTo 0
End Sub

Danke schon mal und Gruss
Tina
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Dateiname beim speichern ändern
24.01.2005 12:53:32
Dieterb
Ich habe hier folgenden (funktionierenden) Code
ActiveWorkbook.SaveAs Filename:= _
"F:\Ordner\Datei_" & Date & ".xls",
Hängt das Tagesdatum an den Dateinamen
Viel Erfolg
Gruß
DieterB
AW: Dateiname beim speichern ändern
Tina
Hallo Dieter
Danke Dir für Deine Hilfe - leider nützt mir das nichts.
Ich muss nicht das Datum, sondern die aktuelle Zeit haben
und zudem muss die Zeit nicht angehängt werden, sondern die
alte Zeit muss überschrieben werden.
Was auch erschwerend dazu kommt, ist, dass ich keinen Pfad angeben kann,
da die Datei immer in einem andern Folder abgelegt wird, je nach Datum.
Gruss Tina
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Dateiname beim Speichern in Excel ändern


Schritt-für-Schritt-Anleitung

Um den Dateinamen beim Speichern in Excel zu ändern, kannst du das Workbook_BeforeSave Ereignis nutzen. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle im Projektfenster das entsprechende Workbook aus.
  3. Doppelklicke auf „ThisWorkbook“.
  4. Füge den folgenden Code in das Fenster ein:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim sPath As String
    sPath = "H:\Data\test\"
    On Error Resume Next
    MkDir sPath & Format(Date, "YYYYMMDD")
    sPath = sPath & Format(Date, "YYYYMMDD") & "\"
    ActiveWorkbook.SaveAs sPath & _
    Replace(ActiveWorkbook.Name, ".xls", "") & "-" & Format(Now(), "hh_mm_ss") & ".xls"
    On Error GoTo 0
End Sub
  1. Schließe den VBA-Editor und speichere deine Änderungen.

Mit diesem Code wird der Dateiname beim Speichern automatisch mit der aktuellen Uhrzeit aktualisiert.


Häufige Fehler und Lösungen

  • Datum oder Uhrzeit wird nicht angezeigt: Stelle sicher, dass der Code korrekt eingefügt wurde und die Format-Funktion richtig verwendet wird.

  • Dateiname lässt sich nicht ändern: Überprüfe, ob du Schreibrechte im Zielordner hast und ob der Code im richtigen Workbook ausgeführt wird.

  • Fehlermeldungen beim Erstellen des Ordners: Möglicherweise existiert der Ordner bereits. Der Code verwendet On Error Resume Next, um dies zu ignorieren, aber du solltest sicherstellen, dass der Ordner korrekt erstellt wird.


Alternative Methoden

Wenn du die VBA-Methode nicht verwenden möchtest, kannst du auch folgende Alternativen in Betracht ziehen:

  1. Manuelles Speichern: Du kannst beim Speichern den gewünschten Namen manuell eingeben.
  2. Makros verwenden: Erstelle ein Makro, das den Speichervorgang automatisiert, ohne dass die Uhrzeit im Dateinamen aktualisiert wird.
  3. Excel-Add-Ins: Suche nach Add-Ins, die das Speichern und Umbenennen von Dateien erleichtern.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du den Dateinamen ändern kannst:

  • Wenn du die Datei als „Bericht-12_00_36.xls“ speichern möchtest, kannst du den VBA-Code entsprechend anpassen:
ActiveWorkbook.SaveAs "Bericht-" & Format(Now(), "hh_mm_ss") & ".xls"
  • Um einen spezifischen Ordner zu verwenden, ändere den Pfad im Code:
sPath = "C:\Benutzer\DeinBenutzername\Dokumente\"

Tipps für Profis

  • Verwende Konstanten: Statt feste Pfade zu verwenden, definiere Konstanten für Ordnerpfade, um die Wartbarkeit des Codes zu erhöhen.

  • Fehlerbehandlung: Implementiere eine umfassende Fehlerbehandlung, um unerwartete Probleme beim Speichern zu vermeiden.

  • Benutzerdefinierte Dateinamen: Erstelle eine Eingabemaske, um dem Benutzer die Möglichkeit zu geben, den Dateinamen manuell einzugeben, bevor die Datei gespeichert wird.


FAQ: Häufige Fragen

1. Wie kann ich den Dateinamen ändern, ohne VBA zu verwenden?
Du kannst den Dateinamen beim Speichern manuell eingeben oder ein Makro verwenden, das die Umbenennung übernimmt.

2. Was tun, wenn der Dateiname nicht aktualisiert wird?
Überprüfe, ob der Code richtig in „ThisWorkbook“ eingefügt wurde und dass die Datei nicht schreibgeschützt ist.

3. Ist dieser Code in allen Excel-Versionen anwendbar?
Der bereitgestellte Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen.

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