Avatar billede mal Nybegynder
04. august 2010 - 14:08 Der er 10 kommentarer og
1 løsning

Outlook VBA - Som sender afsender, dato mv. til regneark

Jeg vil gerne have et VBA script til Microsoft Outlook 2003.

Hvor man kan vælge en mappe, og så sender outlook:

Afsender (mailadresse), Dato (Dato og kl.) , Svardato (Dato og kl./ingen), Svartype (videresend/besvar/ingen) fra samtlige mails i mappen til et excel regneark.

Altså således at hvis der kun er en mail fra a@b.com som er sendt den 23.12.2009 kl. 14.35, og videresendt den 23.12.2009 kl. 15.23.

Vil der være 2 linjer i excel 2003 med følgende udseende:

Afsender    Modtaget:                      Besvaret:        Type besvarelse:               
a@b.com;    23.12.2009 kl. 14.35;      23.12.2009 kl. 15.23;    Videresendt
Avatar billede supertekst Ekspert
04. august 2010 - 15:21 #1
Er det ok, hvis det er Excel der bliver "pladsholder" for VBA?

Er der et fælles "udgangspunkt" for mapperne?
Avatar billede mal Nybegynder
04. august 2010 - 18:05 #2
Er det ok, hvis det er Excel der bliver "pladsholder" for VBA?

Ja.

Er der et fælles "udgangspunkt" for mapperne?

Nej, men hvis du kan vise hvordan det vil vise med en mappe ... så vil det være helt fint ... for så laver jeg bare 4 scripts.
Avatar billede supertekst Ekspert
04. august 2010 - 18:15 #3
Tak & ok - vedr. mapper - er det "faste" - så kan du jo angive stien til dem, som så kan indlægges i koden som valgmuligheder.
Avatar billede mal Nybegynder
04. august 2010 - 18:47 #4
Det er ikke nødvendigt, da det vil være ca. 5 bestemte outlook mapper, og ud fra det så laver jeg et script for hver ...
Avatar billede supertekst Ekspert
04. august 2010 - 22:56 #5
ok..
Avatar billede supertekst Ekspert
05. august 2010 - 16:25 #6
Rem version 1 - skrevet i V/2007
Rem Reference sat til: Microsoft Outlook 12.0 Object Library - skal evt. justeres til 2003-versionsNr (11.0)
Rem Evt. til at forhindre "Et program forsøger..."
Rem www.contextmagic.com/express-clickyes/Free-version.htm
Rem ============================================================
Const mappenavn = "??"  'JUSTERES -hvis indbakken - sættes mappenavn = ""
Const startRæk = 2
Dim ræk As Integer, antalMails As Integer, mappen
Public Sub HentMails()
    sletPtIndhold
   
    antalMails = åbnOutlookMappe(mappenavn)
   
    ræk = startRæk
    traverserMappen antalMails

    Columns.AutoFit
End Sub
Private Sub sletPtIndhold()
    Range("A" & CStr(startRæk) & ":D65000").Select
    Selection.ClearContents
    Range("A" & CStr(startRæk)).Select
End Sub
Private Function åbnOutlookMappe(mappenavn)
Dim mailApp, nameSpace, aFold As MAPIFolder

    Set mailApp = CreateObject("Outlook.Application")
    Set nameSpace = mailApp.GetNamespace("MAPI")
    Set aFold = nameSpace.GetDefaultFolder(olFolderInbox)
   
    If mappenavn <> "" Then
        Set mappen = aFold.Folders(mappenavn)
    Else
        Set mappen = aFold
    End If
    åbnOutlookMappe = mappen.Items.Count
End Function
Private Sub traverserMappen(antalMails)
Dim afsender As String, modtaget As Date, besvaret As Date, besvarType As String
Dim mx As MailItem, handlinger As Outlook.Actions
    If antalMails > 0 Then
        Application.ScreenUpdating = False
   
        For m = 1 To antalMails
            Set mx = mappen.Items(m)
           
            afsender = mx.SenderEmailAddress
            modtaget = mx.ReceivedTime
           
            ActiveSheet.Range("A" & CStr(ræk)) = afsender
            ActiveSheet.Range("B" & CStr(ræk)) = modtaget
           
            ' besvaret mangler p.t.
            ' type besvarelse  mangler p.t.
            ræk = ræk + 1
        Next m
       
        Application.ScreenUpdating = True
    End If
End Sub


ps: bemærk mangler - prøve at finde info herom - men endnu er det ikke lykkedes.
Avatar billede mal Nybegynder
06. august 2010 - 13:00 #7
Tak for det - Jeg kikker på det.
Avatar billede mal Nybegynder
06. august 2010 - 15:27 #8
Jeg vil gerne til at starte med sige wov ... det tog lidt tid at forstå ... altså det jeg har forstået indtil nu ... Jeg har et par opfølningsspørgsmål ... Jeg håber du vil hjælpe med.

Jeg har lavet følgende rettelse:

Const mappenavn = "%userprofile%\Lokale indstillinger\Application Data\Microsoft\Outlook\outlook.ost

(Jeg regner med at det var det der skulle stå - det er en xp maskine med outlook 2003)

****************************************************************

Lad og sige at den mappe jeg forsøger at få fat i hedder Indbakke\Regnskab" ... jeg gerne vil have fat i?

Min indbakke hedder umiddelbart: "Postkasse - John Doe"

Det er ikke altid den samme postkasse jeg henviser til ... men jeg gætter på at alt ligger i "%userprofile%\Lokale indstillinger\Application Data\Microsoft\Outlook\outlook.ost"
***************************************************************

Skal der stå noget special i mappenavn?

Her:

antalMails = åbnOutlookMappe(mappenavn)?

og

Her

Private Function åbnOutlookMappe(mappenavn)?

********************************************************

Jeg kan ikke få kommandoen:

"Dim aFold As MAPIFolder"

til at virke ... den kender ikke commandoen "MAPIFolder"

Hvilket formodentlig er årsagen til at jeg ikke kan få den følgende kommando til at virke:

Set aFold = nameSpace.GetDefaultFolder(olFolderInbox)

Den kommer med fejlkoden:

"Run-time error '-2147024809(80080057)

Handlingen kunne ikke fuldføres. En eller flere parameterværdier er ikke gyldige."
Avatar billede supertekst Ekspert
19. oktober 2010 - 09:58 #9
Har prøvet følgende uden problemer:

I VBA-koden forudsættes det, at mappenavn findes under "OlFolderInbox".
F.eks. Indbakke\Regnskab, som du selv nævner.

--

... den kender ikke commandoen "MAPIFolder"

så er det som om referencen ikke er sat. Har du kontrolleret dette - ellers er du velkommen til at ringe til mig. TlfNr kan findes på min "www"
Avatar billede mal Nybegynder
31. oktober 2010 - 00:46 #10
Med henvisning til supertekst-it.dk  sidste svar i nedenstående tråd ... lukkes hermed spørgsmålet

http://www.eksperten.dk/spm/920546/point

Endnu engang tak for hjælpen til supertekst-it.dk
Avatar billede supertekst Ekspert
31. oktober 2010 - 14:14 #11
Selv tak...
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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







Læses lige nu