【发布时间】:2013-11-27 15:31:22
【问题描述】:
我想从 Outlook 2010 下载附件。包含附件的邮件主题不断变化。主题名称格式如下:
“2010(随机名称)西格玛报告”
“2011(随机名称)西格玛报告”
现在我想下载第一份 Sigma 报告。我应该如何连接到 Outlook 并下载它?以下是我到目前为止使用的代码。我在第一个“For”语句中遇到类型不匹配。
Sub Attachment_Click()
Const olFolderInbox As Integer = 6
Const AttachmentPath As String = "D:\Documents and Settings\rahul.baskaran\Desktop\"
Dim OApp As Object, ONS As Object, OInb As Object
Dim OItem, OAtch As Object
Dim OFind As Object
Dim OMail As Object
Set OApp = GetObject(, "Outlook.application")
Set ONS = OApp.GetNamespace("MAPI")
Set OInb = ONS.GetDefaultFolder(olFolderInbox)
Set OMail = OInb.Items
Set OFind = OMail.Find("[Subject] = ""*Sigma Report*""")
For Each OItem In OInb.Items.Restrict(OMail)
If OItem.Attachments.Count <> 0 Then
For Each OAtch In OItem.Attachments
'~~> Download the attachment
OAtch.SaveAsFile AttachmentPath & OAtch.Filename
Exit For
Next
Else
MsgBox "The mail doesn't have an attachment"
End If
Exit For
Next
End Sub
如果我删除了.Restrict(OMail) 部分,那么代码可以正常工作,但即使邮件有附件,它也总是会进入“else”状态。有人可以帮我解决这个问题吗?
【问题讨论】:
-
为什么不创建一个规则然后关注THIS
-
谢谢.. 我使用该解决方案的一部分成功提取了文件。