Anzeige
Archiv - Navigation
332to336
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
332to336
332to336
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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"
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
Anzeige
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


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
Anzeige
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


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
Anzeige
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


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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige