VBA outlook - 另存为电子邮件

时间:2015-03-14 19:54:27

标签: vba outlook-vba save-as

我试图将当前的电子邮件保存到文件夹中。

我修改了我的代码。但是,有一个错误。

*438 : object doesn't support this property or method.*

关于此代码:

GetCurrentItem().SaveAsFile StrFile, olMSG

我的VBA代码:

Public fso As New FileSystemObject
Public objApp As Outlook.Application
Public OutMail As Outlook.MailItem
Public strPath As String
Public StrFile As String

Function GetCurrentItem() As Object

    Set objApp = CreateObject("Outlook.Application")
    On Error Resume Next
    Select Case TypeName(objApp.ActiveWindow)
        Case "Explorer"
            Set GetCurrentItem = objApp.ActiveExplorer.Selection.Item(1)
        Case "Inspector"
            Set GetCurrentItem = objApp.ActiveInspector.CurrentItem
    End Select

    Set objApp = Nothing
End Function


Sub saveMyEmail()

      strPath = "C:\Users\admin\Desktop\my vba\fso\"


      StrFile = strPath & Worksheets("Main").Range("A1").Value & ".msg"
      GetCurrentItem().SaveAsFile StrFile, olMSG



Set fso = Nothing

End Sub

1 个答案:

答案 0 :(得分:0)

如果在Outlook VBA环境中运行代码:

Set myItem = Application.ActiveInspector

您需要将objApp对象设置为Application类的实例,或者使用Outlook VBA中的全局Application属性。