Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: map 'ongewenste mail' verwijderen bij afsluiten Outlook  (gelezen 4667 keer)

0 leden en 1 gast bekijken dit topic.

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.383
  • Geslacht: Man
map 'ongewenste mail' verwijderen bij afsluiten Outlook
« Gepost op: 31 mei 2023, 14:01:13 »
Dag,
ik gebruik Outlook van Office , met 2 Outlook accounts , die van mezelf en die van mijn vrouw.
omdat er dagdagelijks nogal wat spam toekomt in onze beide folders "ongewenste e-mail , en dan vooral bij de account van mijn vrouw , ben ik op zoek gegaan om die folder bij het afsluiten van Outlook automatisch te laten ledigen , de folder(s) "verwijderde items" van onze beide accounts worden automatisch geledigd , dat kan je in Outlook instellen bij "opties".
ik heb code gevonden die ik via VBA kon invoegen via een VBA project én dat is gelukt , alleen wordt enkel MIJN folder "ongewenste e-mail" geledigd bij afsluiten , die van mijn vrouw wordt niet geledigd...
iemand de nodige kennis om de code eventueel aan te passen naar onze beide accounts ?
Mvg,
Arnold.

Private Sub Application_Quit()
    Dim objJunkFolder As Outlook.Folder
    Dim i As Long
    Dim objMail As Outlook.MailItem
    Dim objDeletedFolder As Outlook.Folder
    Dim objItem As Object
    Dim objProperty As Outlook.UserProperty
 
    Set objJunkFolder = Outlook.Application.Session.GetDefaultFolder(olFolderJunk)
 
    For i = objJunkFolder.Items.Count To 1 Step -1
        If objJunkFolder.Items(i).Class = olMail Then
           Set objMail = objJunkFolder.Items(i)
 
           'Add the specific property to each junk email
           objMail.UserProperties.Add "Delete", olText
           objMail.Save
           'Delete them
           objMail.Delete
        End If
    Next
 
    Set objDeletedFolder = Application.Session.GetDefaultFolder(olFolderDeletedItems)
 
    For Each objItem In objDeletedFolder.Items
        'Find out the junk emails in the "Deleted Items" folder
        Set objProperty = objItem.UserProperties.Find("Delete")
        If TypeName(objProperty) <> "Nothing" Then
           'Permanently delete them
           objItem.Delete
        End If
    Next
 
    'Prompt You
    MsgBox Chr(34) & "Ongewenste mail" & Chr(34) & " Folder geledigd !", vbExclamation + vbOKOnly
End Sub

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: map 'ongewenste mail' verwijderen bij afsluiten Outlook
« Reactie #1 Gepost op: 02 juni 2023, 13:37:58 »
Dag Arnold,

Citaat
iemand de nodige kennis om de code eventueel aan te passen naar onze beide accounts ?
Absoluut niet :D , dus ik was er wijselijk afgebleven.
Maar nu ik merk dat je helemaal geen reacties krijgt ben ik toch eens wat gaan proberen. In mijn Outlook zit maar één account, dus testen valt nogal tegen :(

In elk geval heb ik de indruk dat je het gedeelte Set objJunkFolder = Outlook.Application.Session.GetDefaultFolder(olFolderJunk) plus de code eronder nogmaals zal moeten uitvoeren, maar dan beginnend met iets in de stijl van
Set Account = Application.Session.Folders("Mw. Montagnard")
Set objJunkFolder = Account.Folders("ongewenste e-mail")
Wel minstens één en mogelijk twee van de teksten tussen aanhalingstekens aanpassen ;)

Als je dan met F8 door de code gaat merk je wel op een veilige manier of het goed zit. Succes !

O ja, ik zag net nog dat je in die tweede ronde 'objDeletedFolder' ook anders zal moeten definiëren, maar dat zal iets gelijkaardigs worden.

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.383
  • Geslacht: Man
Re: map 'ongewenste mail' verwijderen bij afsluiten Outlook
« Reactie #2 Gepost op: 03 juni 2023, 09:31:07 »
Dag Molly,
alvast bedankt om het te willen nakijken , ik ga dat zeker uittesten !
maar momenteel zit ik met andere "zorgen" : men is komen digitale meters plaatsen , zowel voor aardgas als elektriciteit en water...
nu mag ik mijn ganse bestand , waar ik mijn meterstanden ingeef , daarnaar gaan aanpassen....
dus nu eerst dat.
Mvg,
Arnold.

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: map 'ongewenste mail' verwijderen bij afsluiten Outlook
« Reactie #3 Gepost op: 03 juni 2023, 10:35:10 »
Geen probleem, Arnold, ik verneem dan mettertijd wel hoe het afgelopen is.
Succes ondertussen met alle vereiste aanpassingen voor je meterstandensysteem!

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.383
  • Geslacht: Man
Re: map 'ongewenste mail' verwijderen bij afsluiten Outlook
« Reactie #4 Gepost op: 05 juni 2023, 14:54:01 »
Dag Molly,
ik heb da eens bekeken en de oplossing die voor mij "begrijpelijk" is , is gewoon 2 x de ganse code laten uitvoeren , 1 x met mijn mail account en 1x met mijn vrouw haar account.
1) het wérkt voor beide accounts , echter word bij mijn account de "ongewenste mail" folder gewist en OOK de "verwijderde items" folder , bij mijn echtgenote word de "ongewenste mail" folder gewist maar NIET de "verwijderde items" folder , de ongewenste mail is gewoon naar deze laatste verplaatst , eigenaardig vermits de code 2 dezelfde is ?
2) ik zoek een mogelijkheid om als er géén ongewenste mail is dat er ook géén boodschap volgt (msgbox) op het einde....

Mvg,
Arnold.

Private Sub Application_Quit()
    Dim objJunkFolder As Outlook.Folder
    Dim i As Long
    Dim objMail As Outlook.MailItem
    Dim objDeletedFolder As Outlook.Folder
    Dim objItem As Object
    Dim objProperty As Outlook.UserProperty
   
Rem de folder ongewenste mail leegmaken voor account ikke
Set Account = Application.Session.Folders("xxxxxxxxx@xxxxxxxxx.be") = MIJN MAIL ADRES
Set objJunkFolder = Account.Folders("ongewenste e-mail")
    For i = objJunkFolder.Items.Count To 1 Step -1
        If objJunkFolder.Items(i).Class = olMail Then
            Set objMail = objJunkFolder.Items(i)
                objMail.UserProperties.Add "Delete", olText
                objMail.Save
                objMail.Delete
        End If
    Next
Set objDeletedFolder = Application.Session.GetDefaultFolder(olFolderDeletedItems)
    For Each objItem In objDeletedFolder.Items
        Set objProperty = objItem.UserProperties.Find("Delete")
        If TypeName(objProperty) <> "Nothing" Then
           objItem.Delete
        End If
    Next

Rem de folder ongewenste mail leegmaken voor account echtgenote
Set Account = Application.Session.Folders("xxxxxxxxx@xxxxxxxxx.be") = MIJN ECHTGENOTE HAAR MAIL ADRES
Set objJunkFolder = Account.Folders("ongewenste e-mail")
    For i = objJunkFolder.Items.Count To 1 Step -1
        If objJunkFolder.Items(i).Class = olMail Then
            Set objMail = objJunkFolder.Items(i)
                objMail.UserProperties.Add "Delete", olText
                objMail.Save
                objMail.Delete
        End If
    Next

MsgBox Chr(34) & "de folders 'ongewenste mail'" & Chr(34) & " zijn geledigd !", vbExclamation + vbOKOnly


Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: map 'ongewenste mail' verwijderen bij afsluiten Outlook
« Reactie #5 Gepost op: 05 juni 2023, 17:07:04 »
Hallo Arnold,

In aanmerking genomen dat ik nooit eerder iets met vba in Outlook heb gedaan zijn we dan toch al een eindje op de goede weg geraakt ;)

Twee maal 'de ganse code uitvoeren' is effectief wat ik bij mijn eerste reactie al in gedachten had (vermoedelijk heb ik dat toen niet duidelijk genoeg uitgedrukt).
In de code die je nu hebt toegevoegd zie ik wel dat je toch maar een deel opnieuw doet. Je zal allicht dit:
Set objDeletedFolder = Application.Session.GetDefaultFolder(olFolderDeletedItems)
    For Each objItem In objDeletedFolder.Items
        Set objProperty = objItem.UserProperties.Find("Delete")
        If TypeName(objProperty) <> "Nothing" Then
           objItem.Delete
        End If
    Next
ook nog moeten toevoegen aan de code voor het 2° account, en dat zal vermoedelijk dan in de 1° regel niet met 'GetDefaultFolder' mogen zijn, maar moeten verwijzen naar 'verwijderde items' uit account 2.

Voor je extra vraag komen we er allicht met enkel logisch denken: als 'items.count' voor beide accounts samen 0 is (onderweg optellen dus) moet de msgbox niet worden weergegeven (je zou ook als alternatief kunnen kiezen voor de melding dat er géén waren?)

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.383
  • Geslacht: Man
Re: map 'ongewenste mail' verwijderen bij afsluiten Outlook
« Reactie #6 Gepost op: 05 juni 2023, 18:54:02 »
Bedankt Molly !
idd , tijdens het kopieer en plak proces moet er iets mislopen zijn , die blok code ontbrak....
ik heb zoals U aangeeft die regel bij beide accounts doen verwijzen naar de account :
Set objDeletedFolder = Account.Folders("Verwijderde Items")

en nu werkt het !
morgen nog kijken om die melding aan te passen .
Mvg,
Arnold.

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.383
  • Geslacht: Man
Re: map 'ongewenste mail' verwijderen bij afsluiten Outlook
« Reactie #7 Gepost op: 06 juni 2023, 17:56:38 »
Molly,
ik heb een teller bijgevoegd , als er geen ongewenste mail is krijg ik dus geen boodschap meer...
ik heb het echter veranderd : ik heb een macro gemaakt met de code , en dan een knop toegevoegd aan de werkbalk "snelle toegang" , nu kan ik de mappen wissen als ik wil en moet Outlook daarvoor dus niet meer afsluiten.
werkt super goed zo.
bedankt voor de hulp  ;)
Arnold.

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: map 'ongewenste mail' verwijderen bij afsluiten Outlook
« Reactie #8 Gepost op: 07 juni 2023, 11:27:17 »
Hallo Arnold,

Je aangepaste werkwijze komt voor mij ook over als nog een stap voorwaarts :thumbsup:
Het is trouwens weer een win-win geworden: je hebt me op het idee gebracht om voor mezelf het opruimen ook te gaan automatiseren ;)

Groetjes,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.383
  • Geslacht: Man
Re: map 'ongewenste mail' verwijderen bij afsluiten Outlook
« Reactie #9 Gepost op: 08 juni 2023, 11:38:06 »
Dag Molly,
ik heb het nog verder doorgedreven....
je kan aan de werkbalk "snelle toegang" een opdracht toevoegen die standaard in Outlook zit , namelijk de folder (map) "verwijderde items leegmaken"...
echter als je daar op klikt wordt enkel de map van de hoofdaccount leeggemaakt , tenzij je eerst de folder van de 2de account ( mijn echtgenote) selecteert....

ik heb dus die code uitgesplitst :
1) code om de inhoud van beide folders "ongewenste mail" te verplaatsen naar beide folders "Verwijderde items" , in een macro gezet en dan een "snelkoppeling" daarnaar aan de werkbalk "snelle toegang" toegevoegd
2) code om de inhoud van beide folders "Verwijderde items" leeg te maken , eveneens in een macro gezet en dan ook een "snelkoppeling" daarnaar aan de werkbalk "snelle toegang" toegevoegd

ik heb dus nu 2 knoppen staan op de werkbalk "snelle toegang" , die ik naar wens kan gebruiken....

Grtjs,
Arnold.

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: map 'ongewenste mail' verwijderen bij afsluiten Outlook
« Reactie #10 Gepost op: 08 juni 2023, 11:56:30 »
Hallo Arnold,
Ik heb er maar één 'woord' voor: \o/
Straks worden we nog Outlook-experts... ;)

Groetjes,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

 


www.combell.com