Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1432to1436
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

Mailversand mit SMTP

Mailversand mit SMTP
10.07.2015 11:38:17
Werner
Hallo Zusammen,
Habe ein Makro gefunden, womit ich mails verschicken kann.
für die Zeile .TextBody = "Mailtext" möchte ich einen kopierten Bereich vom Blatt Abholung einfügen. Ich bekomme das einfach nicht hin, das der Bereich mitgeschickt wird.
Gruß Werner
https://www.herber.de/bbs/user/98756.xlsm
Sub Mail_schicken()
'Variablendeklaration für Mailversand
Dim iMsg As Object
Dim iConf As Object
Dim Flds As Variant
Dim Mailbetreff As String
Dim Mailinhalt As String
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1     'CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "172.25.8.104"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Update
End With
On Error Resume Next
With iMsg
Set .Configuration = iConf
.To = "werner.bruhn@benteler.com"
'.CC = ""
'.BCC = ""
.From = "werner.bruhn@benteler.com"
.Subject = "Mailbetreff"
.TextBody = "Mailtext"
.Send
End With
If Err.Number  0 Then
MsgBox Err.Description, _
vbCritical + vbMsgBoxSetForeground + vbMsgBoxHelpButton, _
"Error: " & Err.Number, Err.HelpFile, Err.HelpContext
End If
End Sub

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

Betreff
Datum
Anwender
Anzeige
Was genau wird kopiert?
10.07.2015 15:55:16
Raphael
Hallo Werner,
was möchtest du denn aus dem Excelsheet kopieren?
Ein paar Zellen, Text oder Text inkl. Bildern?
Gruess
Raphael

AW: Was genau wird kopiert?
13.07.2015 06:26:24
Werner
Hallo Raphael,
es soll eigentlich nur Text aus den Zellen kopiert werden.
Den Bereich möchte ich markieren und da aus der Zwischenablage einfügen.
In einigen Zellen ist der Text immer anders.
Gruß Werner

AW: Was genau wird kopiert?
13.07.2015 08:56:33
Raphael
Hallo Werner,
Versuchs mal mit der Funktion

Private Function fncRangeToHtml(strWorksheetname As String, _
strRangeaddress As String) As String
Dim objFilesytem As Object, objTextstream As Object
Dim strFilename As String
strFilename = Environ$("temp") & "/" & _
Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
ActiveWorkbook.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=strFilename, _
Sheet:=strWorksheetname, _
Source:=strRangeaddress, _
HtmlType:=xlHtmlStatic).Publish True
Set objFilesytem = CreateObject("Scripting.FileSystemObject")
Set objTextstream = objFilesytem.GetFile(strFilename). _
OpenAsTextStream(1, -2)
fncRangeToHtml = objTextstream.ReadAll
objTextstream.Close
Set objTextstream = Nothing
Set objFilesytem = Nothing
Kill strFilename
End Function
So einbauen bei dir

With iMsg
Set .Configuration = iConf
.To = "werner.bruhn@benteler.com"
'.CC = ""
'.BCC = ""
.From = "werner.bruhn@benteler.com"
.Subject = "Mailbetreff"
.TextBody = fncRangeToHtml("Blattname", "A1:C10")
.Send
End With
Gruess
Raphael

Anzeige
AW: Was genau wird kopiert?
13.07.2015 09:16:30
Werner
ich habe die Funktion mit in das Modul reinkopiert und meinen Code mit dem geändert, was du geschickt hast.
Die Mail wird zwar geschickt aber ohne das Kopierte und ich bekomme eine Fehlermeldung Error_ 1004
Anwendungs- oder objektdefinierter Fehler.
Gruß Werner

AW: Was genau wird kopiert?
13.07.2015 09:42:06
Raphael
Hallo Werner,
Mach mal aus dem TextBody einen HtmlBody. Hast du Blattname auch durch deinen Blattnamen ersetzt?
Gruess Raphael

AW: Was genau wird kopiert?
13.07.2015 09:52:53
Werner
Hallo Raphael,
Blattname hatte ich geändert. Habe Textbody ersetzt, die Fehlermeldung ist die gleiche.
noch mal der gesamte Code:
Sub Mail_schicken()
'Variablendeklaration für Mailversand
Dim iMsg As Object
Dim iConf As Object
Dim Flds As Variant
Dim Mailbetreff As String
Dim Mailinhalt As String
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1 'CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "172.25.8.104"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Update
End With
On Error Resume Next
With iMsg
Set .Configuration = iConf
.To = "werner.bruhn@benteler.com"
'.CC = ""
'.BCC = ""
.From = "werner.bruhn@benteler.com"
.Subject = "Mailbetreff"
.HtmlBody = fncRangeToHtml("Abholung", "A1:R24")
.Send
End With
If Err.Number 0 Then
MsgBox Err.Description, _
vbCritical + vbMsgBoxSetForeground + vbMsgBoxHelpButton, _
"Error: " & Err.Number, Err.HelpFile, Err.HelpContext
End If
End Sub
Private Function fncRangeToHtml(strWorksheetname As String, _
strRangeaddress As String) As String
Dim objFilesytem As Object, objTextstream As Object
Dim strFilename As String
strFilename = Environ$("temp") & "/" & _
Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
ActiveWorkbook.PublishObjects.Add( _
SourceType:=xlSourceRange, _
filename:=strFilename, _
Sheet:=strWorksheetname, _
Source:=strRangeaddress, _
HtmlType:=xlHtmlStatic).Publish True
Set objFilesytem = CreateObject("Scripting.FileSystemObject")
Set objTextstream = objFilesytem.GetFile(strFilename). _
OpenAsTextStream(1, -2)
fncRangeToHtml = objTextstream.ReadAll
objTextstream.Close
Set objTextstream = Nothing
Set objFilesytem = Nothing
Kill strFilename
End Function

Anzeige
AW: Was genau wird kopiert?
13.07.2015 12:28:04
Raphael
Hallo Werner,
Ich weiss an was es evtl liegen könnte. Ersetze in deinem Dateinamen alle Leerzeichen durch _, dann sollte es klappen.
Gruess Raphael

AW: Was genau wird kopiert?
13.07.2015 12:48:47
Werner
Hallo Raphael,
ja jetzt geht es. Danke für Deine Hilfe.
Gruß Werner

AW: Was genau wird kopiert?
13.07.2015 14:26:19
Werner
Hallo Raphael,
es gibt doch noch ein Problem.
Die Mail, die ich schicken möchte, kommt erst beim nächsten Senden an.
Wenn ich also jetzt eine Mail sende, wird erst die vom letzten senden geschickt, nicht die ,die ich eigentlich schicken will.
Gruß Werner

AW: Was genau wird kopiert?
13.07.2015 17:34:45
Raphael
Hallo Werner,
Ich denke das ist normal. Ich gehe davon aus, dass das Mailprogramm nicht geõffnet ist während du die Mail versendest. Somit geht die Mail in den Postaugang und wird quasi beim nächsten start des Mailprogramms versendet.
Gruß Raphael

Anzeige
AW: Was genau wird kopiert?
14.07.2015 06:36:13
Werner
Hallo Raphael,
ich weiß nicht warum, aber jetzt geht es auch wenn das Mailprogramm geschlossen ist.
Danke Gruß Werner

In dem Fall ist ja alles i.O. :-) owt
14.07.2015 10:12:24
Raphael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige