2016-04-14 80 views
0

在发送电子邮件之前,我想将换行符改为换行符。我想运行一个宏,而不是使用Replace。放置在ThisOutlookSession中的以下内容不会保存为宏。我认为,因为你不能传递参数?但我在哪里放置代码?将换行符改为换行符

Private Sub ChgParagraphsToLineBreaks(ByVal Item As Object, Cancel As Boolean) 
    Item.Body = Replace(Item.Body, "^p", "^l") 
End Sub 

回答

0

您的子必须在发送电子邮件时触发的Application.ItemSend()事件中调用。您也可以在此事件中取消发送。

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) 

    ChgParagraphsToLineBreaks Item 

End Sub 

Private Sub ChgParagraphsToLineBreaks(ByVal Item As Object) 
    dim strBody as string 
    strBody = Item.Body 
    strBody = Replace(strBody, "^p", "^l") 
    Item.Body = strBody 
End Sub 
+0

谢谢。跟进。是否有VBA代码来选择整个身体(如CTRL + A)?除非选择正文(至少这是我发生的事情),否则上述替换不起作用。 – user2140857

+0

@ user2140857看看我编辑的答案 –