fragdendackel
Goto Top

Outlook VBA - Jede 10. Mail verschieben

Moin zusammen,

mal ne Frage.
Stichprobenartig würde ich gerne aus einem Testpostfach mit 500 Mails jeden 10. Mail in einen anderen Ordner verschieben.
Am wahrscheinlichsten wir das mit einem VBA Script gehen. Nun aber die Frage, wie dieses aussehen müsste
Was ich bisher (gefunden) habe, ist einfach ein allgemeines Makro fürs Verschieben von Mails:

''' Je Ordner ein Sub Aufruf  
''' Teil 1  
Sub VerschiebeInGelesen()
    VerschiebeEMail ("\\<Postfachname>\Posteingang\<Zielordner>")  
End Sub

''' Verschiebt E-Mails in einen Zielordner  
''' Die Pfadangabe aus Outlook kopieren  
''' Teil 2  
Sub VerschiebeEMail(ZielOrdner As String)
    Dim strOutlookFolderPath As String
    Dim oulAusgewaehlte As Outlook.Selection
    Dim intZähler As Integer
    Dim strOutlookMAPIFolders() As String
    Dim mapFld As MAPIFolder
    
    Set oulAnwendung = CreateObject("Outlook.Application")  
    Set oulAusgewaehlte = oulAnwendung.ActiveExplorer.Selection
    
    strOutlookFolderPath = ZielOrdner
    strOutlookMAPIFolders = GetOutlookMapiFolder(strOutlookFolderPath)
    Set mapFld = GetOutlookMapiObject(strOutlookMAPIFolders)
       
    For intZähler = 1 To oulAusgewaehlte.Count
        oulAusgewaehlte.Item(intZähler).UnRead = False
        oulAusgewaehlte.Item(intZähler).Move mapFld
    Next intZähler
End Sub

Das reicht aber natürlich nicht.
Ich würde gerne aus dem Ordner, zB. "Sammlung", jede 10. Mail in den Ordner "Stichprobe" verschieben lassen, ohne einfach selbst alles abzuzählen.

Hat da jmd. eine schlaue Idee?

Danke und liebe Grüße

Content-ID: 2978717613

Url: https://administrator.de/contentid/2978717613

Ausgedruckt am: 22.11.2024 um 06:11 Uhr

Fennek11
Fennek11 03.06.2022 aktualisiert um 14:39:58 Uhr
Goto Top
Hallo,

ein Vorschlag (nicht getestet)

Sub Test_Verschieben()
Dim FLD As Folder, Ziel As Folder
Set FLD = ActiveExplorer.CurrentFolder

ZP = Split(Replace(FLD.FolderPath, "\\", ""), "\")  
Set Ziel = Session.Folders.Item(ZP(0)).Folders(ZP(1))

For i = FLD.Items.Count To 1 Step -1
    If i Mod 10 = 0 Then FLD.Items(i).Move Ziel
Next i
end sub
FragDenDackel
FragDenDackel 03.06.2022 um 14:54:15 Uhr
Goto Top
Den Vorschlag verstehe ich.
Nur wo wird angegeben wohin der Spass verschoben wird?
Fennek11
Fennek11 03.06.2022 um 15:13:50 Uhr
Goto Top
Ersetze

ZP = Split(Replace(FLD.FolderPath, "\\", ""), "\")  

durch

ZP = Split(Replace("Dein Ziel-Pfad (anpassen)", "\\", ""), "\")  

wobei "Dein Ziel-Pfad" im Format "\\email-adress\folder-Name" ist
FragDenDackel
FragDenDackel 03.06.2022 um 15:14:50 Uhr
Goto Top
Danke =)