PDA

Vollständige Version anzeigen : OL 2010 - Makro beim erstellen einer neuen Mail


maates
25.10.2017, 11:30
Hallo!

Ist es möglich, Outlook dazu zu bewegen, beim erstellen einer neuen Mail ein Makro laufen zu lassen?
Also so
1. Klick auf "Neue E-Mail-Nachricht"
2. automatisch läuft jetzt erst ein Makro

Ich suche im WEB schon den ganzen Morgen.
Finde aber nix :-(

Gruß und Danke!
Werner

mumpel
25.10.2017, 11:33
Hallo!

Beim Erstellen nicht. Du kannst DIr aber ein Makro erstellen welches neue Emails erzeugt. Dann kannst Du die Originalschaltfläche durch eine eigene Schaltfläche ersetzen.

Was genau soll denn beim Erstellen passieren?

Gruß, René

maates
25.10.2017, 11:38
Hallo René

Danke für die schnelle Antwort!
Künftig sollen bei uns Mails nur noch im rtf-Format erzeugt werden können.
Will man sie in html haben muss man das jedes mal erst auswählen.
Da wir oft Links verschicken müssen, möchte ich, dass meine Mails gleich in html erzeugt werden.

Gruß
Werner

markusxy
25.10.2017, 11:40
Es geht mit dem NewInspector Event.

maates
25.10.2017, 11:42
Hättest du evtl. ein Beispiel für mich?
Ich bin eher der Makro-Aufzeichner.
Aber das geht ja bei Outlook nicht. :-(

markusxy
25.10.2017, 11:47
Ich bin eher der Makro-Aufzeichner.

In Outlook bringt das ohne Grundlagen leider nichts.

Schau dir das Beispiel in der Hilfe an.
Googel sollte ebenfalls helfen.

maates
25.10.2017, 12:00
Ein bisschen kenn mich schon aus.
Ist aber nicht berühmt.

Ich habe im Netz jetzt das hier gefunden:

Private WithEvents objinspectors As Outlook.Inspectors

Private Sub Application_Startup()
Set objinspectors = Application.Inspectors
End Sub

Private Sub objinspectors_NewInspector(ByVal Inspector As Inspector)
If TypeName(Inspector.CurrentItem) = "MailItem" Then
MsgBox "newinspector"
End If
End Sub

Wenn ich eine neue Mail anlege kommt eine Msg-box.
Ich denke damit kann ich erst mal rumspielen.

Gruß und Danke
Werner

markusxy
25.10.2017, 12:05
@maates,
na bitte.
So bald man Grundkenntnisse hat, und das Stichwort kennt kann man sich eh helfen.
Den Code hättest du auch in der Hilfe gefunden.
LG Markus

mumpel
25.10.2017, 12:05
<pre style='border:thin solid #FF8000; padding:12px 24px; margin-left:12px; color:#000000'><span style='color:#0000EE'>Sub</span> NewHTMLMail() <span style='color:#0000EE'>Dim</span> olApp <span style='color:#0000EE'>As</span> Outlook.Application <span style='color:#0000EE'>Set</span> olApp = Application <span style='color:#0000EE'>With</span> olApp.CreateItem(<span style='color:#DDAA00'>0</span>) .BodyFormat = olFormatHTML .Display <span style='color:#0000EE'>End</span> <span style='color:#0000EE'>With</span> <span style='color:#0000EE'>End</span> <span style='color:#0000EE'>Sub</span> <br><br><hr style='color: #FF8000; background-color:#FF8000; height:1px; border:none;' /><p style='font-size:9px; font-family: Verdana; text-align: left; '><a href='http://www.rholtz-office.de/vba-html' target='_blank'>VBA/HTML-CodeConverter</a>, AddIn f&uuml;r Office 2002-2016 - in VBA geschrieben von <a href='http://www.office-loesung.de/viewprofile19265.php'>Lukas Mosimann</a>. Projektbetreuung:<a href='http://www.rholtz-office.de'>RMH Software & Media</a></p><p style='font-size:11px; font-weight:bold; color:#0000EE; font-family:Verdana; text-align:left;'>Code erstellt und getestet in Office 14 - mit VBAHTML 12.6.0</p></pre>

maates
25.10.2017, 13:00
Kannst du mir evtl. sagen, was ich grad verkehrt mache?

Es erscheinen nämlich 2 neue Mails.
Eine im rtf-Format und eine wie gewünscht in html

Private WithEvents objinspectors As Outlook.Inspectors

Private Sub Application_Startup()
Set objinspectors = Application.Inspectors
End Sub

Private Sub objinspectors_NewInspector(ByVal Inspector As Inspector)
Dim Mail As Outlook.MailItem
If TypeName(Inspector.CurrentItem) = "MailItem" Then
NewHTMLMail
End If
End Sub

Sub NewHTMLMail()

Dim olApp As Outlook.Application

Set olApp = Application
With olApp.CreateItem(0)
.BodyFormat = olFormatHTML
.HTMLBody = "<BODY style=font-size:11pt;font-family:Arial>"
.Display
End With
End Sub

mumpel
25.10.2017, 13:14
Geht doch ohne Extra-Prozedur.

<pre style='border:thin solid #FF8000; padding:12px 24px; margin-left:12px; color:#000000'><span style='color:#0000EE'>Private</span> <span style='color:#0000EE'>Sub</span> objinspectors_NewInspector(<span style='color:#0000EE'>ByVal</span> Inspector <span style='color:#0000EE'>As</span> Inspector) <span style='color:#0000EE'>If</span> TypeName(Inspector.CurrentItem) = <span style='color:#FF0000'>&quot;MailItem&quot;</span> <span style='color:#0000EE'>Then</span> Inspector.CurrentItem.BodyFormat = olFormatHTML <span style='color:#0000EE'>End</span> <span style='color:#0000EE'>Sub</span><br><br><hr style='color: #FF8000; background-color:#FF8000; height:1px; border:none;' /><p style='font-size:9px; font-family: Verdana; text-align: left; '><a href='http://www.rholtz-office.de/vba-html' target='_blank'>VBA/HTML-CodeConverter</a>, AddIn f&uuml;r Office 2002-2016 - in VBA geschrieben von <a href='http://www.office-loesung.de/viewprofile19265.php'>Lukas Mosimann</a>. Projektbetreuung:<a href='http://www.rholtz-office.de'>RMH Software & Media</a></p><p style='font-size:11px; font-weight:bold; color:#0000EE; font-family:Verdana; text-align:left;'>Code erstellt und getestet in Office 14 - mit VBAHTML 12.6.0</p></pre>

mumpel
25.10.2017, 13:17
Übrigens:
Bitte nutze künftig das Code-Tag. Das macht die Beiträge übersichtlicher.

maates
25.10.2017, 13:25
Danke für deine Antwort!
Hast recht - das mit dem Code-Tag habe ich verpennt. Sorry

Jetzt klappt es! :-)
VIELEN DANK für deine Hilfe

Gruß
Werner