Avatar billede tdh1309 Juniormester
26. juli 2016 - 17:56 Der er 4 kommentarer og
1 løsning

Læs mail (fra outlook) via EXCELL

Hej
Jeg får nogle status mails pr. email.
Tænkte om excell kunne finde disse i Outlook og læse dem ind i et excell ark?
Har googlet grundigt, men pt. uden held.
Ved ikke helt om man kan øge performance, ved at sorte efter afsender og overskrift, og evt. modtagelsesdato på email?
Håber et klogt hoved kan hjælpe :-)

Venlig hilsen

Thomas
Avatar billede supertekst Ekspert
26. juli 2016 - 18:20 #1
Det kan godt lade sig gøre. Har udviklet noget tilsvarende adskillige gange.
Du må gerne beskrive flere detaljer om hvordan du forestiller dig mails skal hentes og organiseres,
Hvilken version af Office anvender du?
Avatar billede tdh1309 Juniormester
26. juli 2016 - 18:48 #2
Hej
Det ligner OFFICE 2013, i første omgang skal jeg bare kunne screene min mailkonto - ud fra de beskrevne kriterier. Selve håndtering af informationer håber jeg selv at kunne implementere via VBA :-)
Når du spørger til version af OFFICE, skal jeg være nervøs for at lave noget som ikke virker ved næste opdatering af OFFICE (der vil jo altid være små tilpasninger). Alternativt vil jeg skrive direkte til DB med relevante oplysninger, men mailen skal ud - og kunne bruges som en Work around.
Avatar billede supertekst Ekspert
27. juli 2016 - 10:53 #3
Her er version 1 anbragt i en Excel-fil:

Rem Jeg anvender Office 2016
Rem VBA-vindue: Tools/References/Microsoft Outlook 16.0 Object Library
Rem Skal evt. justeres til Outlook 2013 - nærmere herom, hvis problem
Rem ==================================================================
Private Sub hentMails()
Dim antalRækker As Integer
Dim mailApp As Outlook.Application, Namespace, indbakke, m
Dim afSender As String, modtagetDatoTid As Date, Titel As String, Tekst As String
    antalRækker = ActiveCell.SpecialCells(xlLastCell).Row
    række = antalRækker + 1
    Set mailApp = New Outlook.Application
    Set Namespace = mailApp.GetNamespace("MAPI")
    Set indbakke = Namespace.GetDefaultFolder(olFolderInbox)
             
    If indbakke.Items.Count > 0 Then
        For m = 1 To indbakke.Items.Count
       
Rem Test om mail er behandlet
                With indbakke.Items(m)
                    afSender = .Sender
                    modtagetDatoTid = .ReceivedTime
                    Titel = .Subject
                    Tekst = .body
Rem Indsæt i Excel
                    Range("A" & række) = modtagetDatoTid
                    Range("B" & række) = afSender
                    Range("C" & række) = Titel
                    Range("D" & række) = Tekst
                    række = række + 1
                   
                    .UnRead = False        'marker som læst
                End With
        Next m
    End If
   
    ActiveWorkbook.Save
End Sub
Avatar billede tdh1309 Juniormester
27. juli 2016 - 17:32 #4
Hej
Tak for svaret, i første omgang fejler den på Outlook.Application ("USER-defined type not defined).

Når jeg lige får lidt bedre tid end i dag, prøver jeg at rode lidt mere grundigt med det. Og vender så tilbage, men tak for input :-)
Avatar billede supertekst Ekspert
27. juli 2016 - 18:09 #5
Selv tak - du er velkommen..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester