我正在尝试使用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应用程序并跳出代码。
如果我以过于复杂的方式这样做,请告诉我!
答案 0 :(得分:1)
看起来您将错误的文件路径传递给Open方法:
FileName = "S:\Projects\" & objAtt
尝试使用Attachment类的DisplayName属性。
FileName = "S:\Projects\" & objAtt.DisplayName
另外,请确保您具有足够的权限在S驱动器上进行写入,并且可以随时访问它。尝试指定任何本地驱动器。