Avatar billede NanoQ Nybegynder
04. april 2004 - 00:46 Der er 15 kommentarer og
1 løsning

Stats på Outlook folders

Jeg kører det ganske uovertrufne spamfilter produkt spambayes. Jeg har valgt, at al spam skal filtreres ned i en bestemt folder i Outlook (2000). Jeg modtager mails på 16 forskellige email adresser.

Det kunne være interessant at få en statistik på hvilke mails i spam folderen, der er sendt til hvilken af mine mailadresser. Derfor søger jeg et tip til hvordan jeg gør dette.
Avatar billede NanoQ Nybegynder
04. april 2004 - 00:48 #1
Det skal nævnes, at jeg til dato har en samling på 12144 stk. spammails i folderen. Så en manuel sortering er ikke en option ;)
Avatar billede Slettet bruger
04. april 2004 - 00:49 #2
Hvad med at lave en VBA makro der smider TO: adresserne ned i et Excel ark, som
du så kan lave statistik på ?
Avatar billede NanoQ Nybegynder
04. april 2004 - 00:51 #3
Sikkert et godt bud... hvis jeg var i stand til at lave en sådan makro ;) - så forslag til en sådan makro imødeses :)
Avatar billede Slettet bruger
04. april 2004 - 00:55 #4
Lav et view, der kun indeholder feltet to, og en gruppering af feltet to, så får du automatisk vist hvor mange mails der er på den enkelte adresse.
Avatar billede NanoQ Nybegynder
04. april 2004 - 01:01 #5
En god tanke... prøvede den lige af. Men i det meste spam, står der mange adresser i TO feltet. Dvs. resultatet er, at det er den FØRSTE modtager i TO feltet der grupperes efter.
Avatar billede NanoQ Nybegynder
04. april 2004 - 01:03 #6
nej... det er hele tråden... altså alle adresser. Dvs. "min.adresse@mail.dk" og "min.adresse@mail.dk; anden.adresse@hotmail.com" grupperes forskelligt.
Avatar billede Slettet bruger
04. april 2004 - 01:18 #7
Det har du ret i, men alternativet er nok blackadders råd. En export til excel tager også hele to rækken med. Du kan jo også sortere mailsne ud i diverse mapper via organize, men det tager jo også tid.
Avatar billede Slettet bruger
04. april 2004 - 01:23 #8
glemt det sidste, har du flere adresser hos samme udbyder, vil alle blive flyttet til mappen.
Avatar billede Slettet bruger
04. april 2004 - 01:37 #9
OK, prøv med denne her:

-------------
Public Sub OutlookSpamStatistik()

    ' Declare Outlook Objects
    ' Husk at sætte en reference til Outlook Objektet i Tools -> References
    Dim myOlApp As Outlook.Application
    Set myOlApp = CreateObject("Outlook.Application")
   
    Dim myFolder As Outlook.MAPIFolder
    Set myFolder = myOlApp.GetNamespace("MAPI").PickFolder      ' Vælg Spam folder
   
    Dim myMail As MailItem
    Set myMail = myFolder.Items.GetLast
   
    Dim i As Integer
   
    For i = 1 To myFolder.Items.Count
        With ActiveSheet
            myMail = myFolder.Items(i)
            Range(Cells(i, 1), Cells(i, 1)) = myMail.Recipients.Item(1).Address
        End With
    Next i

End Sub
-------------


Den skal indsætte i et EXCEL kode modul. dvs:
1. Luk Outlook. Åbn Excel. Tryk ALT + F11 for at komme til VB editoren.
2. Find den åbne workbook i "Project", dobbeltklik på "ThisWorkbook"
3. Paste koden ind og gem arket.
4. Luk VB editoren. Tryk ALT + F8, kør makroen "OutlookSpamStatistik"
5. Vælg din spam-mappe.
6. Sig "Ja" til at Excel får adgang til dine e-mail adresser i Outlook, 1 minut skulle være nok.
Avatar billede Slettet bruger
04. april 2004 - 01:39 #10
Jeg glemte noget vigtigt:
2½. I menuen Tools -> References (I Excel VB editoren) find og sæt hak ved Outlook Object Model XX.
Avatar billede Slettet bruger
04. april 2004 - 01:57 #11
Prøv denne her (rettet) version :-)

------------------
Public Sub OutlookSpamStatistik()

    ' Declare Outlook Objects
    ' Husk at sætte en reference til Outlook Objektet i Tools -> References
    Dim myOlApp As Outlook.Application
    Set myOlApp = CreateObject("Outlook.Application")
   
    Dim myFolder As Outlook.MAPIFolder
    Set myFolder = myOlApp.GetNamespace("MAPI").PickFolder      ' Vælg Spam folder
   
    Dim myMail As MailItem
    Set myMail = myFolder.Items.GetLast
   
    Dim i As Integer
    Dim j As Integer
   
    Cells.Delete
    j = 0
   
    For i = 1 To myFolder.Items.Count
        With ActiveSheet
            Set myMail = myFolder.Items(i)
            For j = 1 To myMail.Recipients.Count
                Range(Cells(i, j), Cells(i, j)) = myMail.Recipients.Item(j).Address
            Next j
        End With
    Next i

End Sub

------------------


Den skriver samtlige modtagere ud af alle din mails i den valgte mappe. Det er kun et problem hvis antallet overskrider antallet af kolonner i Excel (256).
Avatar billede Slettet bruger
08. april 2004 - 00:09 #12
nanoq >> Kunne du få det til at virke ?
Avatar billede NanoQ Nybegynder
08. april 2004 - 08:54 #13
Undskyld jeg er lidt sløv i optrækket.

Det fungerer for så vidt fint nok. Men jeg får jo alle modtageradresser i to feltet over. MIN adresse kan stå i en vilkårlig kolonne, så det er svært at lave en sortering der kan bruges til noget.

Desuden får jeg ikke min adresse med på de mails hvor min adresse er skrevet i CC eller BCC felterne.

Er det muligt istedet at hive adressen ud fra mailheaderen, så jeg kun får netop den adresse jeg har modtaget den enkelte mail på? :)
Avatar billede NanoQ Nybegynder
08. april 2004 - 08:55 #14
Men forøvrigt foreløbigt tak for forslaget. Indtil videre har jeg da lært noget nyt om hvad man kan med VBA. Noget jeg vil bore mig dybere ned i :)
Avatar billede Slettet bruger
08. april 2004 - 20:34 #15
Er det bare antallet af mails sendt til den enkelte adresse du ønsker, eller skal der mere information på ?
Avatar billede NanoQ Nybegynder
08. april 2004 - 20:57 #16
Antal mails pr. adresse er fint :)
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