使用Outlook 2010

时间:2015-09-03 08:29:52

标签: vba excel-vba excel-2010 outlook-vba outlook-2010

我正在尝试使用Outlook规则打开Excel附件。我使用以下VBA来执行此操作:

Public Sub saveAttachtoDisk(itm As Outlook.MailItem)

Dim objAtt As Outlook.Attachment
Dim xlApp As Object
Dim FileName As String

For Each objAtt In itm.Attachments
    If InStr(objAtt.DisplayName, ".xlsx") Then
        FileName = "S:\Projects\" & objAtt
        objAtt.SaveAsFile FileName
        Set xlApp = CreateObject("Excel.Application")
        xlApp.Application.Visible = True
        xlApp.Application.EnableEvents = False
        x1App.Workbooks.Open FileName
    End If

    Set objAtt = Nothing
Next
MsgBox ("DONE")

End Sub 

它打开Excel应用程序,但是在打开的文件名行上,它会关闭Excel应用程序并跳出代码。

如果我以过于复杂的方式这样做,请告诉我!

1 个答案:

答案 0 :(得分:1)

看起来您将错误的文件路径传递给Open方法:

 FileName = "S:\Projects\" & objAtt

尝试使用Attachment类的DisplayName属性。

 FileName = "S:\Projects\" & objAtt.DisplayName

另外,请确保您具有足够的权限在S驱动器上进行写入,并且可以随时访问它。尝试指定任何本地驱动器。