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

Formatieren einer Outlook Mail aus Excel heraus

Formatieren einer Outlook Mail aus Excel heraus
22.12.2015 19:42:56
Roebe
Hallo,
ich möchte die Schriftgrösse der Mail auf 15 stellen.
Es hat heute funktioniert und jetzt geht es nicht mehr ?
Hier ist mein Code. Was mache ich nur falsch ?
Option Explicit
Private Declare PtrSafe

Function apiCreateFullPath Lib "imagehlp.dll" Alias "MakeSureDirectoryPathExists" (ByVal lpPath  _
As String) As Long

Sub Datenblatt_senden_nr3_2122015()
Dim olApp       As Object
Dim strPfad     As String
Dim strName     As String
Dim olOldbody   As String
Dim wdApp       As Object
Dim wdDoc       As Object
Dim wdRange     As Object
Dim olNewBody   As String
Dim lngZelle    As Long
apiCreateFullPath (Environ("USERPROFILE") & "\Documents\_excelexporttmp\")
strPfad = Environ("USERPROFILE") & "\Documents\_excelexporttmp\"
strName = "export.xls"
Worksheets("Datenblatt").Copy
Application.DisplayAlerts = False
With ActiveWorkbook
.SaveAs strPfad & strName, FileFormat:=xlWorkbookNormal
.Close
End With
Application.DisplayAlerts = True
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.GetInspector.Display
olOldbody = .htmlBody
.To = "roebe@arcor.de"
.CC = "roebe@arcor.de"
.Subject = "Anforderung Übungsmaterial für den Unterricht - Schueler: " & Worksheets(" _
Datenblatt").Range("B21").Value & ", " & Worksheets("Datenblatt").Range("D21").Value
.htmlBody = "Hallo,
wir benötigen Übungsmaterial für o. g. Schüler/in.
" _ & _ "Mit freundlichen Grüßen
Studienkreis Essen Rüttenscheid
S. _ Birkel " & _ "
" & olOldbody .Attachments.Add strPfad & strName .Save Rem Word-Editor-Objekt erstellen (zum Formatieren erforderlich) Set wdApp = .GetInspector Set wdDoc = wdApp.WordEditor Set wdRange = wdDoc.Range wdRange.WholeStory Rem Emailtext formatieren With wdRange Rem Schriftart und Schriftgröße festlegen .Font.Name = "Arial" .Font.Size = 15 End With End With Rem Objekte freigeben Set wdRange = Nothing Set wdDoc = Nothing Set wdApp = Nothing Set olApp = Nothing End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatieren einer Outlook Mail aus Excel heraus
22.12.2015 20:17:58
mumpel
Hallo!
Mal davon abgesehen dass Du hier keine HTML-Codes (HTML-Tags) posten solltest (die werden vom Parser umgewandelt)solltest Du bei Deinem bisherigen Thread bleiben.
Der Code selber sieht in Orndung aus. Was genau funktioniert nicht? Gibt es eine Fehlermeldung? Oder wird der Text nicht formatiert?
Gruß, René

AW: Formatieren einer Outlook Mail aus Excel heraus
22.12.2015 21:41:03
Roebe
Also gerade hat es wieder einmal funktioniert, dann aber wieder nicht.
Wenn ich den Button betätige, kommen 2 Meldungen:
Laufzeitfehler 91: Objektvariable oder With Blockvariable nicht festgelegt.
Im VBA Code - es wird die Zeile gelb markiert: Set wdRang = wdDoc.Range
Die EMail öffnet sich, aber nicht korrekt formatiert.
Gruss Roebe

Anzeige
AW: Formatieren einer Outlook Mail aus Excel heraus
22.12.2015 22:02:18
mumpel
Möglicherweise arbeitet der Code schneller als die Email erstellt wird. Wenn der Code bei der bemängelten Zeile ankommt bevor das Emailfenster erstellt werden konnte kommt es natürlich zu einer Fehlermeldung da der Wordeditor erst verfügbar ist wenn das Emailfenster erstellt wurde. Da würde ich mal eine Wartezeit einbauen.
Option Explicit
Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Public Sub Email_Erstellen_Formatiert()

Dim olApp        As Object
Dim wdApp        As Object
Dim wdDoc        As Object
Dim wdRange      As Object
Dim olOldbody    As String
Dim olNewBody    As String
Dim lngZelle     As Long




Rem Outlook-Objekt erstellen 
Set olApp = CreateObject("Outlook.Application")

    Rem Email erstellen 
    With olApp.CreateItem(0)
              .GetInspector.Display
              olOldbody = .htmlBody
              .Subject = "Test"
              .htmlBody = "Hallo!<br><br>" & _
                          "Nur ein Test<br><br>" & _
                          "Gruß, Max<br><br>"
        
        Rem Word-Editor-Objekt erstellen (zum Formatieren erforderlich) 
        Set wdApp = .GetInspector
        Set wdDoc = wdApp.WordEditor
        Set wdRange = wdDoc.Range
            wdRange.WholeStory
            
            Rem Wartezeit 1000 ms 
            Sleep 1000
            
            Rem Emailtext formatieren 
            With wdRange
            
                 Rem Schriftart und Schriftgröße festlegen 
                 .Font.Name = "Arial"
                 .Font.Size = 12.5
        
            End With
            
            
              Rem Emailtext um Signatur ergänzen 
              .htmlBody = .htmlBody & olOldbody
    End With


Rem Objekte freigeben 
Set wdRange = Nothing
Set wdDoc = Nothing
Set wdApp = Nothing
Set olApp = Nothing

End Sub

VBA/HTML - CodeConverter für Office-Foren, AddIn für Excel/Word 2002-2013 - komplett in VBA geschrieben von Lukas Mosimann. Projektbetreuung durch mumpel

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Anzeige
AW: Formatieren einer Outlook Mail aus Excel heraus
23.12.2015 08:37:17
Roebe
Ja, es funktioniert !!! Dankeschön.
Gruß Roebe

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige