Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
904to908
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
904to908
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Automatische Namensgebung beim Speicher-Makro

Automatische Namensgebung beim Speicher-Makro
07.09.2007 17:54:03
Nico
Tag zusammen,
das unten stehende Makro von GerVas funktioniert schon super. Es speichert eine Datei beim Abrufen an einem definierten Ort auf einem Server und verschickt den Link zu dieser Datei anschließend per Mail.
Jetzt würde ich gerne den Dateinamen beim Speichern noch aus dem aktuellen Datum und der Uhrzeit, sowie einigen Zelleninhalten generieren lassen und dabei die Leerzeichen entfernen.
Der Dateiname soll am Ende in etwa so aussehen: 0709071750InhaltZelleF5InhaltZelleQ34.xls
Ich habe den modifizierten Code mal eingestellt und an entsprechender Stelle kommentiert:

Sub MailSenden()
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
Pfad = "\\Mmc-file\mmc_allgemein\Wochenleistungsnachweise\"
Datei = "WL NEU Test.xls"
°°° Den Namen habe ich jetzt von Hand eingegeben. Hier soll das aktuelle Datum und dann der  _
Inhalt der Zellen F5 und Q34 als Name generiert werden, allerdings ohne Leerzeichen, damit das   _
_
_
mit dem Verlinken weiterhin funktioniert !!!!°°°
ActiveWorkbook.SaveAs Pfad & Datei
With objMail
.To = "nico.roden@mmc.de; nicoroden@aol.com.de"
.CC = "dritte.Adresse@dort.de"
.BCC = "vierteAdresse@dort.de"
.Subject = "Das ist der Betreff!"
.Body = "Hallo hier die neuesten Verknüpfungen: " & Pfad & Datei
.ReadReceiptRequested = True
.Display     ' oder direkt Send
End With
Set objOutlook = Nothing
Set objMail = Nothing
End Sub


Vielleicht kann mir da jemand helfen, dann könnte ich in mein wohlverdientes Wochenende fahren.
Gruß
Nico

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatische Namensgebung beim Speicher-Makro
07.09.2007 18:29:00
Daniel
Hi
Dateinamen zusammenbauen (die x- und y- Bezeichnungen natürlich entspechend ersetzen)

Dateiname = format(now, "YYMMDDhhmm") & sheets(x1).range(y1).value & sheets(x2).range(y2).value & ".xls"


Leerzeichen entfernen


Dateiname = replace (Dateiname, " ", "") 


Gruß, Daniel

AW: Automatische Namensgebung beim Speicher-Makro
07.09.2007 18:59:00
Nico
Vielen Dank schon mal, das funktioniert sicher, ABER irgendwie bin ich zu blöd das einzubauen, bei mir bleibt das Makro immer an der neuen Zeile hängen... wo ist mein Fehler.

Sub MailSenden()
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
Pfad = "\\Mmc-file\mmc_allgemein\Wochenleistungsnachweise\"
Datei = Format(Now, "YYMMDDhhmm") & Sheets("Nachweis").Range(F5).Value & Sheets(" _
Nachweis").Range(Q31).Value & ".xls"
ActiveWorkbook.SaveAs Pfad & Datei
With objMail
.To = "nico.roden@mmc.de; nicoroden@aol.com.de"
.CC = "dritte.Adresse@dort.de"
.BCC = "vierteAdresse@dort.de"
.Subject = "Das ist der Betreff!"
.Body = "Hallo hier die neuesten Verknüpfungen: " & Pfad & Datei
.ReadReceiptRequested = True
.Display     ' oder direkt Send
End With
Set objOutlook = Nothing
Set objMail = Nothing
End Sub


Anzeige
Range("f5") !!!!! (Anführungszeichen)
07.09.2007 19:11:00
Daniel
aktivier OPITON EXPLICIT !!!!!!!!!!!
Gruß, Daniel

AW: Range("f5") !!!!! (Anführungszeichen)
07.09.2007 19:28:00
Nico
Entschuldige Daniel,
wollte Dich nicht verärgern, bin leider noch Anfänger, aber total angefixt, mache aber leider noch dumme Fehler.
Was Option Explicit ist, habe ich gerade schnell nachgelesen. Hört sich sinnvoll an, aber wo aktiviere ich das ?
Vielen lieben Dank und Gruß
Nico

AW: Range("f5") !!!!! (Anführungszeichen)
07.09.2007 19:45:00
Daniel
ganz einfach
entweder immer im Makro-Editor in die erste Zeile schreiben, oder unter EXTRAS-OPTIONEN-EDITOR-VARIABLENDEKLATATION erforderlich anchechen. Dann wird automatisch eingefügt.
Gruß, Daniel

Anzeige
AW: Range("f5") !!!!! (Anführungszeichen)
07.09.2007 19:56:00
Nico
Hallo Daniel und alle anderen Hilfegebenden,
ich hoffe, ich darf mich noch mal an Dich wenden. Es klappt alles super und ich bin schwer beeindruckt.
Allerdings, damit Outlook den Text als Link erkennt, bedarf es nach dem "reinkopieren" eines Druckes auf die Taste ENTER. Wie kann ich das dem Outlook beibringen.
An welcher Stelle das im Code passieren müßte ist mir relativ klar, aber wir macht man das?

Sub MailSenden()
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
Pfad = "\\Mmc-file\mmc_allgemein\Wochenleistungsnachweise\"
Datei = Format(Now, "YYMMDDhhmm") & Sheets("Nachweis").Range("F5").Value & Sheets(" _
Nachweis").Range("Q34").Value & ".xls"
Datei = Replace(Datei, " ", "")
ActiveWorkbook.SaveAs Pfad & Datei
With objMail
.To = "nico.roden@mmc.de"
.CC = ""
.BCC = ""
.Subject = "Neuer Wochenleistungsnachweis eingetroffen"
.Body = Pfad & Datei      ---------vermutlich hier, oder ?--------
.ReadReceiptRequested = False
.Display     ' oder direkt Send
End With
Set objOutlook = Nothing
Set objMail = Nothing
End Sub


Danke für die Geduld und Gruß
Nico

Anzeige
AW: Range("f5") !!!!! (Anführungszeichen)
07.09.2007 20:04:16
Daniel
Hi
tschuldigung, das vorhin war nicht böse gemeint.
also mit Excel-Dateien automatisiert als Mails verschicken kenn ich mich leider überhaupt nicht aus, sorry.
ich mach die frage wieder auf.
Gruß, Daniel

AW: Range("f5") !!!!! (Anführungszeichen)
07.09.2007 20:18:11
Nico
Hey, red keinen Quatsch ! Du kennst Dich super aus. Dein Makro hat es doch erst möglich gemacht.
Alles funktioniert 1A. Es fehlt nur eine KlitzeKleinigkeit.
Mit
.body = Pfad & Datei
definiere ich den Text im Outlook-Fenster und jetzt fehlt nur noch der simple ENTER-Befehl, damit Outlook das Geschrieben auch direkt als Link definiert (der Text wird dann blau und unterstrichen) !
Gruß
Nico

Anzeige
AW: Range("f5") !!!!! (Anführungszeichen)
07.09.2007 21:26:00
BorisHendrik
Hi Nico,
so einfach ist es, glaube ich nicht, du erzeugst lediglich einen Textstring, keinen Hyperlink. Wenn du den Dateinamen zusammensetzt, ist dies nur eine Ansammlung von Zeichen. Du musst ein eigenständiges Objekt erzeugen, einen Hyperlink. Müsste jetzt auch suchen wie ich das in dem speziellen Fall mache, ....
Vielleicht findest du es raus?
Gruss
Boris

AW: Range("f5") !!!!! (Anführungszeichen)
07.09.2007 22:57:24
Nico
Hallo Boris, da kennst Du Dich sicher viel besser aus als ich, aber ich gebe doch eine Eingabe in Outlook vor.
Wenn ich das nicht über ein Makro mache, sondern per Hand, dann muss ich die Eingabe nur mit ENTER abschließen und Outlook erkennt die Eingabe automatisch als Link.
Ich hatte jetzt gehofft, daß irgendjemand weiß, wie ich dem Makro sage, daß es nach dem Erzeugen des Textstrings noch einen ENTER-Befehl ausführt...
Und die Hoffnung gebe ich bei der geballten Kompetenz hier natürlich nicht auf.
Vielen Dank und Gruß
Nico
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige