Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1396to1400
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

Code anpassen

Code anpassen
14.12.2014 09:49:59
Torsten
Hallo Experten,
bräuchte noch mal Hilfe.
Habe hier einen Code gefunden, um aus Excel eine Email zu versenden.
Klappt soweit gut, doch bei der empfangenden Email werden nicht nur der Betreff, sondern auch weitere Daten aus angezeigt.
Komme da nicht weiter.
Gruß Torsten
Option Explicit
Sub Bereich_Mail()
EMAIL_Senden "Adresse@Proviter.de", "Betreff", Tabelle1.Range("A2:E10")
End Sub
Private Sub EMAIL_Senden(Empfänger As String, Betreff As String, rngBody As Range)
Dim MyOutApp As Object, MyMessage As Object
Dim sPath$, sHTMLBody$, sInhalt$
Dim F%
sPath = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")
sPath = sPath & "tmpHTMLFile.html"
ThisWorkbook.PublishObjects.Add( _
xlSourceRange, _
sPath, _
rngBody.Parent.Name, _
rngBody.Address, _
xlHtmlStatic).Publish (True)
F = FreeFile
Open sPath For Binary As #F
sInhalt = Space$(LOF(F))
Get #F, , sInhalt
Close
Kill sPath
sInhalt = Replace(sInhalt, "align=center", "align=left")
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = Empfänger '"Hier kommt die Adresse rein"
.CC = ""
.Bcc = ""
.Subject = Betreff '"Text für Betreffzeile"
.htmlBody = sInhalt
.Display
'.Attachments.Add sPath
'.Send 'Hier wird die Mail gesendet
End With
Set MyOutApp = Nothing
Set MyMessage = Nothing
End Sub

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
und was möchtest du genau?
14.12.2014 11:13:28
Tino
Hallo,
nur eine Mail wo der Betreff ausgefüllt ist und sonst nichts?
Gruß Tino

AW: und was möchtest du genau?
14.12.2014 11:55:26
Torsten
Hallo Tino,
ich möchte einen bestimmten Bereich einer Tabelle als Email an verschiedene Adressen verschicken.
Wenn möglich im Betreff nur der Inhalt der Zelle G1
Gruß Torsten

AW: und was möchtest du genau?
14.12.2014 12:10:07
Tino
Hallo,
vielleicht so?
Option Explicit
Sub Bereich_Mail()
EMAIL_Senden "", Tabelle1.Ranger("G1").Value, Tabelle1.Range("A2:E10")
End Sub
Private Sub EMAIL_Senden(Empfänger As String, Betreff As String, rngBody As Range)
Dim MyOutApp As Object, MyMessage As Object
Dim sPath$, sHTMLBody$, sInhalt$
Dim F%
sPath = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")
sPath = sPath & "tmpHTMLFile.html"
ThisWorkbook.PublishObjects.Add( _
xlSourceRange, _
sPath, _
rngBody.Parent.Name, _
rngBody.Address, _
xlHtmlStatic).Publish (True)
F = FreeFile
Open sPath For Binary As #F
sInhalt = Space$(LOF(F))
Get #F, , sInhalt
Close
Kill sPath
sInhalt = Replace(sInhalt, "align=center", "align=left")
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = Empfänger '"Hier kommt die Adresse rein"
.CC = ""
.Bcc = ""
.Subject = Betreff '"Text für Betreffzeile"
.htmlBody = sInhalt
.Display
'.Attachments.Add sPath
'.Send 'Hier wird die Mail gesendet
End With
Set MyOutApp = Nothing
Set MyMessage = Nothing
End Sub
Gruß Tino

Anzeige
AW: und was möchtest du genau?
14.12.2014 12:36:52
Torsten
Hallo Tino,
Klasse, klappt prima.
Hättest du für mich auch eine Lösung
wenn ich diese Datei als PDF an mehrere Adressen verschicken möchte?
Danke für deine Hilfe
Wünsche noch einen schönen Sonntag.

versuche es mal so
14.12.2014 17:01:27
Tino
Hallo,
vielleicht so.
Sub Makro1()
Dim rngBereichToPDF As Range, rngBody As Range
Dim sPath$, sTmp$

sPath = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")
sPath = sPath & "MePDF.pdf"

Set rngBereichToPDF = Tabelle1.Range("A2:E10")

sTmp = rngBereichToPDF.Parent.PageSetup.PrintArea
rngBereichToPDF.Parent.PageSetup.PrintArea = rngBereichToPDF.Address

rngBereichToPDF.Parent.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    sPath, Quality:=xlQualityStandard, IncludeDocProperties:= _
    True, IgnorePrintAreas:=False, OpenAfterPublish:=False

rngBereichToPDF.Parent.PageSetup.PrintArea = sTmp

'rngBody ist kein Bereich zugewiesen 
EMAIL_Senden "", "Betreff", rngBody, sPath

''oder rngBody ist ein Bereich zugewiesen & sPath = "" bzw. leer 
'Set rngBody = rngBereichToPDF 
'EMAIL_Senden "", "Betreff", rngBody, "" 

''oder rngBody ist ein Bereich zugewiesen & sPath = ein Pfad 
'Set rngBody = rngBereichToPDF 
'EMAIL_Senden "", "Betreff", rngBody, sPath 

End Sub

Private Sub EMAIL_Senden(Empfänger As String, Betreff As String, rngBody As Range, strPath$)
Dim MyOutApp As Object, MyMessage As Object
Dim sPath$, sHTMLBody$, sInhalt$
Dim F%

If Not rngBody Is Nothing Then
    sPath = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")
    sPath = sPath & "tmpHTMLFile.html"
    ThisWorkbook.PublishObjects.Add( _
    xlSourceRange, _
    sPath, _
    rngBody.Parent.Name, _
    rngBody.Address, _
    xlHtmlStatic).Publish (True)


    F = FreeFile
    Open sPath For Binary As #F
    sInhalt = Space$(LOF(F))
    Get #F, , sInhalt
    Close


    Kill sPath
    
    sInhalt = Replace(sInhalt, "align=center", "align=left")
End If

Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)

With MyMessage
  .To = Empfänger '"Hier kommt die Adresse rein" 
  .CC = ""
  .Bcc = ""
  .Subject = Betreff '"Text für Betreffzeile" 
  If strPath <> "" Then .Attachments.Add strPath
  .htmlBody = sInhalt
  .Display
  '.Send 'Hier wird die Mail gesendet 
End With
Set MyOutApp = Nothing
Set MyMessage = Nothing
    
End Sub
Gruß Tino

Anzeige
AW: und was möchtest du genau?
16.12.2014 13:20:30
Torsten
Hallo Tino,
hab es mal Probeweise an mich versandt. es sieht so aus wie in der Datei
https://www.herber.de/bbs/user/94438.xlsx
Kann man das Makro noch so verändern, das unter Plan test nichts mehr steht?
Gruß Torsten

AW: und was möchtest du genau?
16.12.2014 13:21:45
Torsten
Hallo Tino,
hab es mal Probeweise an mich versandt. es sieht so aus wie in der Datei
https://www.herber.de/bbs/user/94438.xlsx
Kann man das Makro noch so verändern, das unter Plan test nichts mehr steht?
Gruß Torsten

Anzeige
zeige eine Beispieldatei dazu....
16.12.2014 13:53:44
Tino
Hallo,
mit dem Bild kann ich so nichts anfangen.
Gruß Tino

AW: zeige eine Beispieldatei dazu....
16.12.2014 14:02:09
Torsten
Hallo Tino, danke das du dich meldest.
Hier das Makro mit dem Ergebnis wie auf dem Bild
Option Explicit
Sub Bereich_Mail()
EMAIL_Senden "", Tabelle1.Ranger("G1").Value, Tabelle1.Range("A2:E10")
End Sub

Private Sub EMAIL_Senden(Empfänger As String, Betreff As String, rngBody As Range)
Dim MyOutApp As Object, MyMessage As Object
Dim sPath$, sHTMLBody$, sInhalt$
Dim F%
sPath = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")
sPath = sPath & "tmpHTMLFile.html"
ThisWorkbook.PublishObjects.Add( _
xlSourceRange, _
sPath, _
rngBody.Parent.Name, _
rngBody.Address, _
xlHtmlStatic).Publish (True)
F = FreeFile
Open sPath For Binary As #F
sInhalt = Space$(LOF(F))
Get #F, , sInhalt
Close
Kill sPath
sInhalt = Replace(sInhalt, "align=center", "align=left")
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = Empfänger '"Hier kommt die Adresse rein"
.CC = ""
.Bcc = ""
.Subject = Betreff '"Text für Betreffzeile"
.htmlBody = sInhalt
.Display
'.Attachments.Add sPath
'.Send 'Hier wird die Mail gesendet
End With
Set MyOutApp = Nothing
Set MyMessage = Nothing
End Sub

Gruß Tino
Gruß Torsten

Anzeige
Einstellung Outlook?
16.12.2014 14:23:12
Tino
Hallo,
ist das nicht eine Einstellungssache von/in Outlook?
Bei mir werden nur Empfänger und der Betreff angezeigt!
Gruß Tino

AW: Einstellung Outlook?
16.12.2014 15:05:21
Torsten
Hallo,
in Outlook wird es bei mir auch so angezeigt, doch wenn ich es dann versende sieht es so aus wie auf dem Bild.
Gruß Torsten

da kann ich auch nicht helfen. sorry! oT.
16.12.2014 15:41:37
Tino

AW: da kann ich auch nicht helfen. sorry! oT.
16.12.2014 16:32:07
Torsten
Hallo,
okay.
Danke.
Gruß Torsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige