Я хочу загрузить вложение из Outlook 2010. Тема письма, содержащего вложение, продолжает меняться. Имена, подлежащие в следующем формате:Как загрузить приложение excel с темой, заканчивающимся определенным текстом, а затем открыть вложение для редактирования?
"2010 (случайное название) Sigma Report"
"2011 (случайное название) Sigma Report"
Теперь я хочу, чтобы загрузить первый 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)
части, то код работает отлично, но его всегда будет к «другому» состоянию, даже если почта имеет крепежный подарок. Может кто-нибудь, пожалуйста, помогите мне с этим?
Почему бы не создать правило, а затем следуйте [это] (http://stackoverflow.com/questions/11781320/download-attachment-from-outlook-and-open-in-excel/11782153#11782153) –
Спасибо. Я использовал часть этого решения, чтобы извлечь файл успешно. –