2016-04-14 43 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看看我編輯的答案 –