Banner

nedeľa, 24. marca 2013

Ako importovať obsah konkrétneho emailu z Outlook-u

 

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.

imagePreto 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

image

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 mailu

                   ThisWorkbook.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


Import Email obsahu z Outlooku do Excelu

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:

downloads_normal

Taktiež nezabudnite na Facebook stránku:

EK logo FB

Žiadne komentáre:

Zverejnenie komentára

Poznámka: Komentár môže zverejniť iba člen tohto blogu.