Namen der Datei ändern ohne Speichern

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Namen der Datei ändern ohne Speichern
von: Martin Halberstadt
Geschrieben am: 03.11.2003 13:44:12

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
Bild


Betrifft: AW: Namen der Datei ändern ohne Speichern
von: GerdW
Geschrieben am: 03.11.2003 13:56:03

Das ist nicht möglich.

Gerd


Bild


Betrifft: Schade!!!
von: Martin Halberstadt
Geschrieben am: 03.11.2003 13:59:38

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


Bild


Betrifft: AW: Schade!!!
von: Russi
Geschrieben am: 03.11.2003 14:25:52

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


Bild


Betrifft: Caption funzt nicht!
von: Martin Halberstadt
Geschrieben am: 03.11.2003 14:31:32

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


Bild


Betrifft: AW: Caption funzt nicht!
von: Russi
Geschrieben am: 03.11.2003 14:41:28

Dann beachte bitte auch den Tip von Hajo: Geöffnete Dateien lassen sich nicht "killen"


Bild


Betrifft: SaveAs & Kill
von: ChrisL
Geschrieben am: 03.11.2003 14:26:27

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


Bild


Betrifft: AW: SaveAs & Kill
von: Hajo_Zi
Geschrieben am: 03.11.2003 14:28:36

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




Bild


Betrifft: AW: SaveAs & Kill
von: ChrisL
Geschrieben am: 03.11.2003 14:37:37

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


Bild


Betrifft: AW: SaveAs & Kill
von: Hajo_Zi
Geschrieben am: 03.11.2003 14:39:54

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




Bild


Betrifft: AW: SaveAs & Kill
von: ChrisL
Geschrieben am: 03.11.2003 14:48:36

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


Bild


Betrifft: So vielleicht???
von: Martin Halberstadt
Geschrieben am: 03.11.2003 14:50:15

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


Bild


Betrifft: AW: So vielleicht???
von: Hajo_Zi
Geschrieben am: 03.11.2003 15:00:31

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




Bild


Betrifft: Ich auch nicht!!! :-)
von: Martin Halberstadt
Geschrieben am: 03.11.2003 15:07:05

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


Bild

Beiträge aus den Excel-Beispielen zum Thema " Namen der Datei ändern ohne Speichern"