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

Namen der Datei ändern ohne Speichern

Forumthread: Namen der Datei ändern ohne Speichern

Namen der Datei ändern ohne Speichern
03.11.2003 13:44:12
Martin Halberstadt
Hallo liebe Forumsbesucher,

ich möchte eine geöffnete Datei per Makro umbenennen und Sie dann mit dem neuen Namen an Outlook übergeben.

Bisher sieht mein Code so aus:


Sub KalkulationAlsEmail()
Dim Empfänger As String
Empfänger = InputBox("Bitte geben Sie den Empfänger ein!")
If Empfänger = "" Then Exit Sub
ActiveWorkbook.ActiveSheet.Copy
ActiveSheet.Name = Trim(Range("A3")) & " " & Trim(Range("F3"))
'ActiveWorkbook.SaveAs Range("A3").Text & " " & Range("F3").Text
Workbook.SendMail Recipients:=Empfänger, Subject:=Trim(Range("A3")) & " " & Trim(Range("F3"))
ActiveWorkbook.Close savechanges:=False
End Sub


Die Geschichte mit dem "SaveAs" soll rausfliegen. Genau an dieser Stelle soll ein Code, der die Datei nicht speichert, ihr aber einen bestimmten Namen gibt.
Mein Versuch mit ActiveWorkbook.Name ist leider fehlgeschlagen.

Ich hoffe, dass mir jemand einen Tipp geben kann.

Mit freundlichen Grüßen,
Martin Halberstadt
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namen der Datei ändern ohne Speichern
03.11.2003 13:56:03
GerdW
Das ist nicht möglich.

Gerd
Schade!!!
03.11.2003 13:59:38
Martin Halberstadt
Hallo Gerd,

schade, schade, schade. Diese Antwort habe ich zwar nicht erhofft, aber irgendwie schon damit gerechnet.
Kann man wohl nichts machen.

Vielen Dank, dass Du Dich meinem Problem angenommen hast.

Falls Du aber eine ähnliche Idee haben solltest, wäre ich über jegliche Anregung dankbar.

Mit freundlichen Grüßen,
Martin Halberstadt
Anzeige
AW: Schade!!!
03.11.2003 14:25:52
Russi
Hallo Martin!

Du könntest Deiner Arbeitsmappe mit "Activeworkbook.Caption" zumindest Excel-Intern einen neuen Namen verpassen.

Ich weiß, dass ist wahrscheinlich auch nicht, was Du gesucht hast, aber vielleicht bringt Dich das ja ein kleines Stückchen weiter.

Oder mach es anders: Speichere die Datei unter dem gewünschten Namen, verschicke die Mail und lösche die gespeicherte Datei per "Kill ...". Ist nicht wirklich elegant, aber mehr fällt mir dazu auch nicht ein.

Russi
Anzeige
Caption funzt nicht!
03.11.2003 14:31:32
Martin Halberstadt
Hallo Russi,

das mit dem Caption funzt nicht.

'Laufzeitfehler 438' --> Objekt unterstützt die Eigenschaft oder Methode nicht.

Aber an Deiner Idee mit dem nachträglichen Datei-Löschen bin ich gerade dran.

Danke schön.

Gruß,
Martin
AW: Caption funzt nicht!
03.11.2003 14:41:28
Russi
Dann beachte bitte auch den Tip von Hajo: Geöffnete Dateien lassen sich nicht "killen"
Anzeige
SaveAs & Kill
03.11.2003 14:26:27
ChrisL
Hi Martin

Wie wärs hiermit...

Dim existName As String

existName = ThisWorkbook.Path & "\" & ThisWorkbook.Name
ThisWorkbook.SaveAs ThisWorkbook.Path & "\xxx.xls"
Kill (existName)

Gruss
Chris
AW: SaveAs & Kill
03.11.2003 14:28:36
Hajo_Zi
Hallo Chris

eine offene Datei bekommst u nicht so einfach gelöscht.


Sub zMloesche()
'   von Jürgen Wenzel
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ThisWorkbook.Close False
End Sub


Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
AW: SaveAs & Kill
03.11.2003 14:37:37
ChrisL
Hi Hajo

Hast schon recht, aber es funktioniert m.E. trotzdem. ThisWorkbook (sagen wir aaa.xls) wird ja dann zu xxx.xls und aaa.xls lässt sich dann löschen.

Oder habe ich einen Knopf in der Zelle ähhh Leitung ;-)

Gruss
Chris
AW: SaveAs & Kill
03.11.2003 14:39:54
Hajo_Zi
Hallo Chris

das hatte ich übersehen. Aber mit Deiner Verfahrensweise speichert er die Datei doch neu ab, was eigentlich nicht gewollt war.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
AW: SaveAs & Kill
03.11.2003 14:48:36
ChrisL
Hi Hajo

Alles klar, hast natürlich auch wieder recht. Auch wenn die Datei jetzt anders heisst, ist sie trotzdem noch gespeichert. Soviel zum Thema kill ;-)

All right! All right! We'll kill him first and then have tea and biscuits.

Gruss
Chris
So vielleicht???
03.11.2003 14:50:15
Martin Halberstadt
Hallo Hajo,

müsste das dann so aussehen?:


Sub KalkulationAlsEmail()
Dim Empfänger As String
Empfänger = InputBox("Bitte geben Sie den Empfänger ein!")
If Empfänger = "" Then Exit Sub
ActiveWorkbook.ActiveSheet.Copy
ActiveSheet.Name = Trim(Range("A3")) & " " & Trim(Range("F3"))
ActiveWorkbook.SaveAs Range("A3").Text & " " & Range("F3").Text
ActiveWorkbook.SendMail Recipients:=Empfänger, Subject:=Trim(Range("A3")) & " " & Trim(Range("F3"))
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ThisWorkbook.Close False
End Sub


Wie gesagt, das Ziel ist es die Datei umzubenennen, so daß der Empfänger nicht eine "Mappe1.xls" bekommt. Da die Mappe nur umbenannt wird, wenn man sie speichert, dann muss es wohl so sein, dass man sie hinterher wieder löscht.

Wäre sehr nett, wenn Du den Code nochmal auf seine Richtigkeit überprüfen könntest.

Vielen Dank.

MfG,
Martin Halberstadt
Anzeige
AW: So vielleicht???
03.11.2003 15:00:31
Hajo_Zi
Hallo Martin

ich würde sagen a. Mailen aus Excel mache ich nicht.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
Ich auch nicht!!! :-)
03.11.2003 15:07:05
Martin Halberstadt
Hallo Hajo,

ich auch nicht. Aber da bei uns in der Firma Office97 genutzt wird, ist es den Usern leider nicht möglich aus einer Excel-Datei nur EIN Tabellenblatt an einen Kontakt zu senden.

Also wurde ich als Azubi damit beauftragt mir mal Gedanken darüber zu machen.
Und Gott sei Dank, es scheint zu klappen. *Puuhh*

So sieht der Code nun aus:


Sub KalkulationAlsEmail()
Dim Empfänger As String
Empfänger = InputBox("Bitte geben Sie den Empfänger ein!")
If Empfänger = "" Then Exit Sub
ActiveWorkbook.ActiveSheet.Copy
ActiveSheet.Name = Trim(Range("A3")) & " " & Trim(Range("F3"))
ActiveWorkbook.SaveAs Range("A3").Text & " " & Range("F3").Text
ActiveWorkbook.SendMail Recipients:=Empfänger, Subject:=Trim(Range("A3")) & " " & Trim(Range("F3"))
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ActiveWorkbook.Close savechanges:=False
End Sub


Falls irgendwer etwas ähnliches sucht, dann hat er mit diesem Code hoffentlich eine Grundlage.

Einen schönen (bei uns leider stürmisch und verregnet) Tag noch.

MfG,
Martin Halberstadt
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Datei ohne Speichern umbenennen in Excel


Schritt-für-Schritt-Anleitung

Um den Namen einer Excel-Datei zu ändern, ohne sie zu speichern, kannst du ein VBA-Makro verwenden. Befolge diese Schritte:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Füge ein neues Modul hinzu, indem du im Menü auf Einfügen > Modul klickst.
  3. Kopiere den folgenden Code in das Modul:
Sub KalkulationAlsEmail()
    Dim Empfänger As String
    Empfänger = InputBox("Bitte geben Sie den Empfänger ein!")
    If Empfänger = "" Then Exit Sub
    ActiveWorkbook.ActiveSheet.Copy
    ActiveSheet.Name = Trim(Range("A3")) & " " & Trim(Range("F3"))
    ActiveWorkbook.SaveAs Range("A3").Text & " " & Range("F3").Text
    ActiveWorkbook.SendMail Recipients:=Empfänger, Subject:=Trim(Range("A3")) & " " & Trim(Range("F3"))
    ActiveWorkbook.ChangeFileAccess xlReadOnly
    Kill ActiveWorkbook.FullName
    ActiveWorkbook.Close savechanges:=False
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.

Mit diesem Code wird die geöffnete Excel-Datei umbenannt und per E-Mail versendet, ohne dass die Datei dauerhaft gespeichert wird.


Häufige Fehler und Lösungen

  • Fehler: "Excel Blatt umbenennen nicht möglich"
    Wenn du beim Umbenennen des Blattes auf einen Fehler stößt, stelle sicher, dass der neue Name keine ungültigen Zeichen (z.B. /, \, :, *, ?, ", <, >, |) enthält.

  • Fehler: Laufzeitfehler 438
    Dieser Fehler tritt auf, wenn die verwendete Eigenschaft oder Methode nicht unterstützt wird. Überprüfe den Code auf Tippfehler oder falsche Objektreferenzen.


Alternative Methoden

Wenn die oben genannte Methode nicht funktioniert, kannst du auch versuchen:

  1. Speichern unter neuem Namen und löschen: Ändere den Dateinamen mit SaveAs und lösche die Originaldatei später. Dies ist zwar nicht elegant, aber eine praktische Lösung.

  2. Namen über Caption ändern: Verwende ActiveWorkbook.Caption, um einen neuen Namen für die Excel-Datei im Excel-Internen Kontext festzulegen. Beachte, dass dies den Dateinamen nicht ändert, sondern nur die Anzeige in Excel.


Praktische Beispiele

Ein einfaches Beispiel zum Umbenennen:

Sub BeispielUmbenennen()
    ActiveWorkbook.ActiveSheet.Name = "NeuerName"
End Sub

In diesem Beispiel wird das aktive Blatt in der aktuellen Arbeitsmappe umbenannt. Achte darauf, dass der neue Name nicht bereits existiert.


Tipps für Profis

  • Automatisiere den Prozess: Du kannst das Makro so anpassen, dass es automatisch die Namen aus bestimmten Zellen verwendet, um die Excel-Datei zu benennen.
  • Verwende Fehlerbehandlung: Implementiere On Error Resume Next und On Error GoTo 0, um Fehler beim Umbenennen der Datei zu handhaben.

FAQ: Häufige Fragen

1. Kann ich den Namen einer Excel-Datei ändern, ohne sie zu speichern?
Leider ist dies nicht möglich. Du kannst den Namen nur ändern, indem du die Datei speicherst und sie dann wieder löschst.

2. Was passiert, wenn der neue Name bereits existiert?
Wenn du versuchst, eine Datei mit einem Namen zu speichern, der bereits existiert, wird Excel eine Fehlermeldung anzeigen. Stelle sicher, dass der Name eindeutig ist.

3. Gibt es eine Möglichkeit, den Namen des Excel-Namensbereichs zu ändern?
Ja, du kannst den Namen eines Namensbereichs über das Menü "Formeln" > "Namens-Manager" ändern oder mithilfe von VBA.

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