"需要对象"在Outlook VBA中保存电子邮件草稿时

时间:2016-09-30 20:14:17

标签: vba outlook outlook-vba

我在保存电子邮件回复草稿时遇到问题:

Dim fwdItem As Outlook.MailItem
Set fwdItem = item.ReplyAll
fwdItem.HTMLBody = "Looks Good." & vbCrLf & fwdItem.HTMLBody
fwdItem.SaveAs "C:\test.msg"

当它到达"Save as"行时,它会给我一个Object Required错误,但如果它是fwdItem.Display,则它可以正常工作。

MSDN告诉我,这通常是因为使用了一个变体,而不是明确地输入一个对象,但这并不是这里发生的事情。

2 个答案:

答案 0 :(得分:0)

您是如何选择邮件项目的?

这适用于Outlook 2010

Option Explicit
Public Sub Example()
    Dim Item As Outlook.MailItem

    Set Item = ActiveExplorer.Selection.Item(1)
    Debug.Print Item

    Set Item = Item.ReplyAll
    Debug.Print Item

    Item.HTMLBody = "Looks Good." & vbCrLf & Item.HTMLBody
    Item.SaveAs ("C:\Temp\test.msg"), olMsg

End Sub

答案 1 :(得分:0)

尝试显式指定类型(调用SaveAs时为olMsg或olMsgUnicode。

也不要连接两个HTML字符串 - 它们必须合并。