26. juli 2016 - 17:56Der 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 :-)
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?
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.
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
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.