Ms Outlook 2003! Attachment mentése VBA-ból

Ms Outlook 2003! Attachment mentése VBA-ból
2010-08-25T20:20:22+02:00
2020-10-14T13:01:14+02:00
2022-10-15T21:16:19+02:00
staki
Sziasztok, szeretném lementeni, egy bizonyos címről érkező mail, csatolmányát egy helyi könyvtárba, Excel VBA kódból. Próbáltam rákeresni, de igazán jó kódot nem találtam Az Outlook-ban nincs makrórögzítés... Kérlek Benneteket, aki tud, segítsen. A legigéretesebb kód, amit találtam talán ez:

Sub SaveAttachment() Dim myItems, myItem, myAttachments As Object Dim myOrt As String Dim myOlApp As Object Dim myOlExp As Object 'Outlook.Explorer Dim myOlSel As Object 'Outlook.Selection Set myOlApp = CreateObject("Outlook.Application") Set myOlExp = CreateObject("myOlApp.Explorer") '("myOlApp.ActiveExplorer") Set myOlSel = CreateObject("myOlExp.Selection") 'for all items do... For Each myItem In myOlSel 'point on attachments Set myAttachments = myItem.Attachments 'if there are some... If myAttachments.Count > 0 Then 'for all attachments do... For i = 1 To myAttachments.Count 'save them to destination myAttachments(i).SaveAsFile myOrt & _ myAttachments(i).DisplayName 'add name and destination to message text myItem.Body = myItem.Body & _ "File: " & myOrt & _ myAttachments(i).DisplayName & vbCrLf Next End If Next Set myItems = Nothing Set myItem = Nothing Set myAttachments = Nothing Set myOlApp = Nothing Set myOlExp = Nothing Set myOlSel = Nothing End Sub

De sajna nem müxik
staki
Mutasd a teljes hozzászólást!
A VBA felületen válaszd ki a ThisOutlookSession részt, és oda:
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String) Dim mell As Attachment, mai As MailItem Set Mapi = Application.GetNamespace("MAPI") Set myfolder = Mapi.GetDefaultFolder(olFolderInbox) Set mai = Application.Session.GetItemFromID(EntryIDCollection, myfolder.StoreID) If mai.Attachments.Count > 0 And (mai.Subject = "teszt" Or mai.ReceivedByName = "név") Then For Each mell In mai.Attachments mell.SaveAsFile "e:\" & mell.FileName Next End If End Sub

És ahogy bejön, már menti is.
A subject, vagy ReceivedByName, vagy más jellemző vizsgálatát már rádbízom.

A ligika akkor is ez, ha egy kiválasztott mail.ről van szó, csak akkor nem az eseményt kell használni
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd