Dnešný článok bude tak trocha náročnejší, avšak na mnohých Excel-fórach často diskutovaný. Mnohí z Vás, ktorí ste pracovali alebo pracujete mi dáte za pravdu, že maznať sa s email-ami je často viac než otravné.
Nehovorím o emailoch, ktorých obsah by sa skôr hodil na SharePoint alebo Dropbox. No Bohužiaľ nie každá firma má premyslenú stratégiu pre manipuláciu s dátami.
Ja ako analytik som niekedy každý deň potreboval uložiť a manipulovať s výnosovými krivkami, ktoré sa aktualizujú každý deň ako správy v Outlook-u.
Preto si dnes ukážeme ako sa manipuluje s Outlook-om v rámci MS Excel. Dôležité upozornenie!!! Aktivujte si knižnicu MS Outlook 14.0 Object Library !!! Kliknite v prostredí VBA na možnosť Tools
– References… V nich nájdite požadovanú knižnicu, ktorú zaškrtnite a kliknite na Ok.
Potom môžete začať písať svoje makro s Outlook objektmi. Vráťme sa však k úlohe a ukážeme si cieľové makro:
Sub EmailBody()
'
' EmailBody Macro
'
' Keyboard Shortcut: Ctrl+q
'
Shell ("outlook") 'otvorí MS Outlook
Dim Aplikacia As Outlook.Application
Dim myNamespace As Outlook.Namespace
Dim Folder As Outlook.MAPIFolder
Dim Items As Outlook.Items
Dim eMail As Variant
Dim i As Long
Set Aplikacia = CreateObject("Outlook.Application")
Set myNamespace = Aplikacia.GetNamespace("MAPI") 'typ priestoru je MAPI Set Aplikacia.ActiveExplorer.CurrentFolder = myNamespace.GetDefaultFolder _(olFolderInbox)
Set Folder = myNamespace.GetDefaultFolder(olFolderInbox)
Set Items = Folder.Items
i = 1
For Each eMail In Items
If InStr(eMail.Subject, "Excel pre každého") > 0 Then 'názov mailuThisWorkbook.Sheets("List1").Cells(i, 1).Value = eMail.Body
Cells(i, 1).ClearFormats
i = i + 1
End If
Next eMail
Aplikacia.Quit 'zatvorí MS Outlook
End Sub
Toto makro si samozrejme môžete modifikovať podľa potrieb. Napríklad ak sa pozriete na kód z článku Graf meniaci sa v čase, tak časovač alebo Timer by spolu s kombináciou mohol zaistiť, že sa stiahnu dáta presne o 12:00 alebo každú nasledujúcu hodinu. Poprípade ak makro vytvoríte vo Workbook-u ako Sub auto_open(), tak sa Vám obsah stiahne vždy, keď otvoríte daný Excelovský súbor.
Súbor, ktorý používam vo videu si môžete stiahnuť kliknutím na nasledujúci obrázok:
Taktiež nezabudnite na Facebook stránku: