Lorsque vous répondez, que vous transférez (ou que vous effectuez une sorte de réponse à un élément de courrier électronique), je souhaite modifier le corps du message. Je sais comment faire cela sur l'événement "envoyer", mais je préfère le faire avant de composer pour que je puisse voir le changement. Utilisation envoyer:Modification d'un message de réponse/transmission Outlook lors de la composition à l'aide de vba
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
On Error Resume Next
Set RegX = CreateObject("VBScript.RegExp")
With RegX
.pattern = "[a regular expression that I want to fix in the email body]"
.Global = True
.MultiLine = True
.IgnoreCase = False
End With
Select Case Item.BodyFormat
Case olFormatHTML
Item.HTMLBody = RegX.Replace(Item.HTMLBody, "")
Case Else
'olFormatPlain, olFormatRichText, lFormatUnspecified?
Item.Body = RegX.Replace(Item.Body, "")
End Select
End Sub
J'ai trouvé un moyen de déclencher l'événement de composition dans les fenêtres externes (Inspectors.NewInspector) mais ont du mal à trouver une manière transparente qui comprend une réponse composée dans l'éditeur en ligne dans Outlook 2016 (Explorer .InlineResponse);
est ici ce qui fonctionne pour le « sauté sur » réponse fenêtres modales:
Dim myOlApp As New Outlook.Application
Public WithEvents myOlInspectors As Outlook.Inspectors
Public Sub Initialize_handler()
Set myOlInspectors = myOlApp.Inspectors
End Sub
Private Sub myOlInspectors_NewInspector(ByVal Inspector As Outlook.Inspector)
Set Item = Inspector.CurrentItem
Set RegX = CreateObject("VBScript.RegExp")
With RegX
.pattern = "[a regular expression that I want to fix in the email body]"
.Global = True
.MultiLine = True
.IgnoreCase = False
End With
Select Case Item.BodyFormat
Case olFormatHTML
Item.HTMLBody = RegX.Replace(Item.HTMLBody, "")
Case Else
'olFormatPlain, olFormatRichText, lFormatUnspecified?
Item.Body = RegX.Replace(Item.Body, "")
End Select
End Sub
Comment pouvons-nous faire quelque chose de similaire qui fonctionne également dans l'éditeur en ligne, en utilisant de préférence une seule fonction transparente.