Avatar billede martens Guru
20. november 2023 - 12:10

Slette ALLE mails i specifik mappe i delt postkasse ( Exchange), undtaget den nyeste mail

Lige et follow-up spørgsmål på et tidligere stillet spørgsmål, som Gustav hjalp mig i mål med.
I tidligere spørgsmål ( https://www.computerworld.dk/eksperten/spm/1042826 ) ville jeg finde nyeste mail og udtrække det vedhæftede.
Nu vil jeg gerne at jeg kan slette ALLE mails, der er ældre end den nyeste mail, der ligger i den specifikke mappe. ( det er data, der sendes fra det store internet til vores firmapostkasse, hver time )
Nå nok om det...

Selve koden, ( der virker ), hvor jeg gerne vil have indlejret kode, der sletter ALLE mails, ældre end den nyeste mail :

-- kode start -

    Dim ol As New Outlook.Application
    Dim NameSpace As Outlook.NameSpace
    Dim ofO As Outlook.MAPIFolder
    Dim ofSubO As Outlook.MAPIFolder
    Dim Subfolder As Outlook.MAPIFolder
    Set NameSpace = ol.GetNamespace("MAPI")
    Dim objItems As Outlook.Items
    Dim olRecip As Outlook.Recipient
    Set olRecip = NameSpace.CreateRecipient("bruger@firma.dk")
   
    Set ofO = NameSpace.GetSharedDefaultFolder(olRecip, olFolderInbox).Folders("FirstSubFolder").Folders("SubFolder2FirstSubFolder)
    Set Subfolder = ofO
    Dim NewestFile As Outlook.MailItem
    Dim Item As Outlook.MailItem
    For Each Item In Subfolder.Items
    If NewestFile Is Nothing Then
    Set NewestFile = Item
    ElseIf Item.CreationTime > NewestFile.CreationTime Then
    Set NewestFile = Item
    End If
    Next Item

    If Not NewestFile Is Nothing Then
    NewestFile.SaveAs "C:\t3mp_z3r0\" & NewestFile.Subject & ".msg"
    End If

    NameSpace.Logoff

-- kode slut --

på forhånd 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

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