我有以下宏工作得很好(在线找到代码):
Sub Sample_Auto_Generated_Email()
Dim objOutl
Set objOutl = CreateObject("Outlook.Application")
Set objMailItem = objOutl.CreateItem(olMailItem)
objMailItem.Display
strEmailAddr = "[email protected]"
objMailItem.Recipients.Add strEmailAddr
objMailItem.Subject = "Sample"
objMailItem.Body = "Please come by when you get this." & vbNewLine _
& " " & vbNewLine _
& "Sample of Line 3"
objMailItem.Send
Set objMailItem = Nothing
Set objOutl = Nothing
End Sub
有没有办法通过执行一个单独的宏写入正文?最终用户有一个相当长的电子邮件,主要是标准的,所以我希望电子邮件的主体是一个单独的宏,如果可能的话。
这样我可以根据需要编写尽可能多的自定义消息,每次宏写入电子邮件的正文时,我会调用具有我想要的内容的不同宏。
Sub Sample_Auto_Generated_Email()
Dim objOutl
Set objOutl = CreateObject("Outlook.Application")
Set objMailItem = objOutl.CreateItem(olMailItem)
objMailItem.Display
strEmailAddr = "[email protected]"
objMailItem.Recipients.Add strEmailAddr
objMailItem.Subject = "Sample"
objMailItem.Body = GetMessageBody() ' <--- This line is different
objMailItem.Send
Set objMailItem = Nothing
Set objOutl = Nothing
End Sub
' This Function has been added.
Private Function GetMessageBody() As String
GetMessageBody = "Test."
End Function