Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
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
Inhaltsverzeichnis

Makro Mail Hilfe Bitte Dringend:)

Makro Mail Hilfe Bitte Dringend:)
26.07.2013 09:40:36
Sandy
Hey,
Aus irgend einem Grund spinnt meine Makro seit ich die Signatur rein gebracht habe. Die Excel versendet sich selbst per Email an die in der Excel eingestellten Daten per knopfdruck.
Aber jetzt hängt die Datei anstatt zwischen Text und Signatur
Irgendwo unten in einen der letzten Zeilen der Signatur:( bis grad vorhin gings noch und ich muss das Projekt morgen fertig habe.
Hilfe bitte.
Sub Excel_Workbook_via_Outlook_Senden()
Dim MyMessage As Object, MyOutApp As Object
Dim Qe As Integer
Dim AWS As String
'Testen ob die aktuelle Mappe schon gespeichert wurde
If ThisWorkbook.Saved = False Then
'Die letzten Änderungen wurden noch nicht gespeichert
Qe = MsgBox("Diese Mappe wurde noch nicht gespeichert, und kann nicht versandt werden!" _
& Chr$(13) & "Soll die Datei gespeichert werden?", vbInformation + vbYesNo, "Sendefehler")
If Qe = vbNo Then
'Abbruch durch Benutzer
MsgBox "Sendevorgang abgebrochen"
Exit Sub
Else
'Prüfen ob die Datei schon mal gespeichert wurde
If Right(ThisWorkbook.Name, 3)  "xls" Then
'Nein > Speicherdialog aufrufen
Application.Dialogs(xlDialogSaveAs).Show
Else
'Speichern
ThisWorkbook.Save
End If
End If
End If
'Aktive Arbeitsmappe wird als mail gesendet
'Übergabe des Mappennames an die Variable
AWS = ThisWorkbook.FullName
'Outlook Object erstellen
Set MyOutApp = CreateObject("Outlook.Application")
'Outlook Nachricht erstellen
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
Dim sEmpfaenger As String, sBetreff As String, sBodyHeader As String, sBodyFooter As String
sEmpfaenger = ThisWorkbook.Sheets("Daten").Range("Y2").Value & ";" & _
ThisWorkbook.Sheets("Daten").Range("Y3").Value & ";" & _
ThisWorkbook.Sheets("Daten").Range("Y4").Value
sBetreff = ThisWorkbook.Sheets("Daten").Range("Y8").Value
'Empfänger
.To = sEmpfaenger
'Betreff
.Subject = sBetreff
.Attachments.Add AWS
'Hier wird ein normaler Text erstellt
sBodyHeader = ThisWorkbook.Sheets("Daten").Range("Y16").Value.ColorIndex = 5 & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("Y11").Value & " " & _
ThisWorkbook.Sheets("Daten").Range("Y22").Value & " " & _
ThisWorkbook.Sheets("Daten").Range("Y21").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("Y12").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("Y13").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("Y14").Value & vbCrLf & vbCrLf & vbCrLf & vbCrLf
sBodyFooter = ThisWorkbook.Sheets("Daten").Range("AE44").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE45").Value & vbCrLf & vbCrLf & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE48").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE49").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE50").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE51").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AF52").Value & " " & _
ThisWorkbook.Sheets("Daten").Range("AE52").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE53").Value & _
ThisWorkbook.Sheets("Daten").Range("AE54").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE55").Value & vbCrLf & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE57").Value & vbCrLf & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE59").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE60").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE61").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE62").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE63").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE64").Value & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE65").Value & vbCrLf & vbCrLf & _
ThisWorkbook.Sheets("Daten").Range("AE67").Value
.Body = sBodyHeader & sBodyFooter
'Hier wird eine HTML Mail erstellt
'Dies kann zu Problemen führen, wenn der Empfänger
'nur TEXT Dateien empfangen darf.
'.HTMLBody = "Das ist ein Test." & vbCrLf & "Bitte ignorieren."
'Hier wird die Mail nochmals angezeigt
.Display
'Hier wird die Mail gleich in den Postausgang gelegt und gesendet
'.Send
End With
'Variablen leeren
Set MyOutApp = Nothing
Set MyMessage = Nothing
End Sub

Hier die Makro

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Mail Hilfe Bitte Dringend:)
26.07.2013 10:29:57
Rudi
Hallo,
was soll das denn heißen:
sBodyHeader = ThisWorkbook.Sheets("Daten").Range("Y16").Value.ColorIndex = 5 & vbCrLf & _
?
Gruß
Rudi

AW: Makro Mail Hilfe Bitte Dringend:)
26.07.2013 10:32:53
Sandy
Ups hab ich das noch drin stehen:)
Habe versucht Irgend wie diese Zeile anders zu Formatieren das die in der Mail in Schriftgröße 8, und Grau erscheint. Ging nicht:) Total vergessen die raus zu löschen:)
Lg Sandy

sollen wir die Mappe nachbauen? owT
26.07.2013 10:38:02
Rudi

AW: sollen wir die Mappe nachbauen? owT
26.07.2013 10:41:09
Sandy
Wie meinst du das?

AW: sollen wir die Mappe nachbauen? owT
26.07.2013 10:43:32
Rudi
Hallo,
ich bau doch nicht das Sheet("Daten") nach.
Lad die Mappe hoch.
Gruß
Rudi

AW: sollen wir die Mappe nachbauen? owT
26.07.2013 10:56:15
Sandy
So :) Sry das es so gedauert hat. Musste erst die Einstellungen Neutral machen wegen Datenschutz und
dann war die wegen den anderen Reitern zu Groß. Hier ist jetzt die Daten Seite wo auch die Makro drin ist. Nicht wundern die Tabelle bezieht sich im Nachhinein auf die anderen Reiter aber das hat mit der Makro nichts zu tun:)
Lg Sandy
https://www.herber.de/bbs/user/86577.xls

Anzeige
AW: sollen wir die Mappe nachbauen? owT
26.07.2013 11:05:41
Rudi
Hallo,
so funktioniert das bei mir:
Sub Excel_Workbook_via_Outlook_Senden()
Dim MyMessage As Object, MyOutApp As Object
Dim Qe As Integer
Dim AWS As String
Dim sEmpfaenger As String, sBetreff As String, sBodyHeader As String, sBodyFooter As String
'Testen ob die aktuelle Mappe schon gespeichert wurde
If ThisWorkbook.Saved = False Then
'Die letzten Änderungen wurden noch nicht gespeichert
Qe = MsgBox("Diese Mappe wurde noch nicht gespeichert, und kann nicht versandt werden!" _
& Chr$(13) & "Soll die Datei gespeichert werden?", vbInformation + vbYesNo, "Sendefehler") _
If Qe = vbNo Then
'Abbruch durch Benutzer
MsgBox "Sendevorgang abgebrochen"
Exit Sub
Else
'Prüfen ob die Datei schon mal gespeichert wurde
If Right(ThisWorkbook.Name, 3)  "xls" Then
'Nein > Speicherdialog aufrufen
Application.Dialogs(xlDialogSaveAs).Show
Else
'Speichern
ThisWorkbook.Save
End If
End If
End If
'Aktive Arbeitsmappe wird als mail gesendet
'Übergabe des Mappennames an die Variable
AWS = ThisWorkbook.FullName
With ThisWorkbook.Sheets("Daten")
sEmpfaenger = _
.Range("Y2").Value & ";" & _
.Range("Y3").Value & ";" & _
.Range("Y4").Value
sBetreff = _
.Range("Y8").Value
sBodyHeader = _
.Range("Y16").Value & vbCrLf & _
.Range("Y11").Value & " " & _
.Range("Y22").Value & " " & _
.Range("Y21").Value & vbCrLf & _
.Range("Y12").Value & vbCrLf & _
.Range("Y13").Value & vbCrLf & _
.Range("Y14").Value & vbCrLf & vbCrLf & vbCrLf & vbCrLf
sBodyFooter = _
.Range("AE44").Value & vbCrLf & _
.Range("AE45").Value & vbCrLf & vbCrLf & vbCrLf & _
.Range("AE48").Value & vbCrLf & _
.Range("AE49").Value & vbCrLf & _
.Range("AE50").Value & vbCrLf & _
.Range("AE51").Value & vbCrLf & _
.Range("AF52").Value & " " & _
.Range("AE52").Value & vbCrLf & _
.Range("AE53").Value & _
.Range("AE54").Value & vbCrLf & _
.Range("AE55").Value & vbCrLf & vbCrLf & _
.Range("AE57").Value & vbCrLf & vbCrLf & _
.Range("AE59").Value & vbCrLf & _
.Range("AE60").Value & vbCrLf & _
.Range("AE61").Value & vbCrLf & _
.Range("AE62").Value & vbCrLf & _
.Range("AE63").Value & vbCrLf & _
.Range("AE64").Value & vbCrLf & _
.Range("AE65").Value & vbCrLf & vbCrLf & _
.Range("AE67").Value
End With
'Outlook Object erstellen
Set MyOutApp = CreateObject("Outlook.Application")
'Outlook Nachricht erstellen
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
'Empfänger
.To = sEmpfaenger
'Betreff
.Subject = sBetreff
'Anhang
.Attachments.Add AWS
'Hier wird ein normaler Text erstellt
.Body = sBodyHeader & sBodyFooter
'Hier wird eine HTML Mail erstellt
'Dies kann zu Problemen führen, wenn der Empfänger
'nur TEXT Dateien empfangen darf.
'.HTMLBody = "Das ist ein Test." & vbCrLf & "Bitte ignorieren."
'Hier wird die Mail nochmals angezeigt
.Display
'Hier wird die Mail gleich in den Postausgang gelegt und gesendet
'.Send
End With
'Variablen leeren
Set MyOutApp = Nothing
Set MyMessage = Nothing
End Sub

Gruß
Rudi

Anzeige
AW: sollen wir die Mappe nachbauen? owT
26.07.2013 11:14:07
Sandy
Ja es Funktioniert aber schau mal wo sich die Datei befindet:(
Die sollte sich eigentlich vor Mit freundlichen Grüßen sein:( aber Leider ist die fast ganz unten.

Dateiort
26.07.2013 11:29:43
Rudi
Hallo,
kann ich nicht nachvollziehen.
In Outlook2007 wird der Anhang nicht im Body eingefügt.
Spiel mal mit der Reihenfolge.
Gruß
Rudi

AW: Dateiort
26.07.2013 11:40:20
Sandy
Habe leider auf den Arbeitsrechnern hier noch das 2003.
Habe schon alles hin und her geschoben weiß echt nicht wie ichs noch machen könnte.
Mir ist es auch schleierhaft wieso es zwischen die Signatur in die Mitte die Datei geschmissen wird.
Da steht kein einiger Befehl dafür
Lg Sandy

Anzeige
AW: Dateiort
26.07.2013 12:51:20
Sandy
Hey endlich etwas Entdeckt.
.Body = sBodyFooter & sBodyHeader
Stelle ich die Formel so dann erscheint die Datei unter dem Text jedoch ist noch die Signatur dann da drüber.
Idee Wäre kann man noch eine bereich da drunter bekommen unter Body?
Gibt es da noch etwas?
Mit freundlichen Grüßen
Sandy

da neuer Beitrag
26.07.2013 13:33:03
zu

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige