AW: Von was sprichst/schreibst DU da ?
29.07.2013 09:00:14
Sandy
Hey,
Ka obs das gab.
Em ja und es hat sehr wohl was mit Makro zutun.
Habe eine Makro mit welcher ich per Klick die jeweilige Datei mit Text und Signatur an eine
in der Excel in eine Zelle eingetragene Mail Adresse sende. Nun hatte ich das Problem das es mir aus einem Grund welcher von niemand benannt werden konnte mir die Datei mitten in die Signatur gelegt hat.
Nach einigen Probieren habe ich heraus bekommen das es falls ich die Signatur nicht in den Body bereich schreibe die Datei normal unter meinem Text steht. Kam mir die Idee (welche sich auf HTML bezog) das es wenn es für Makro einen Header und Body gibt vllt noch eine Art unter dem Body gibt so wie ein Footer halt bloss für Makro.
Subjekt habe ich breits belegt für die Betreffzeile.
Nochmals es handelt sich um eine Makro keine HTML Datei mir kam nur die Idee von HTML das es bei Makro vllt auch noch einen Teil unter dem Body gibt.
Hier die Makro:
Private Sub CommandButton15_Click()
Dim MyMessage As Object, MyOutApp As Object
Dim Qe As Integer
Dim AWS As String
Dim sEmpfaenger As String, sBetreff As String, sBodyFooter As String, sBodyHeader 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
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
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
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