Mailbericht via sneltoets kopieren naar specifieke map

Status
Niet open voor verdere reacties.

Renegade888

Nieuwe gebruiker
Lid geworden
9 nov 2011
Berichten
2
Hallo,

Ik wil een manier vinden om een mailbericht vanuit Outlook via een sneltoets vanuit bijv. mn inbox (maar ook andere mappen) te kopieren naar een specifieke map. Deze map heet bijvoorbeeld 'bewaren'.

Ik wil dus voorkomen dat ik met de muis een handeling moet uitvoeren.
Als het kan wil ik graag sneltoetsen voor verschillende mappen.

Ik heb gegoogled, maar ik krijg het niet voor elkaar. Waarschijnlijk moet ik het zoeken in macros.

Hulp wordt gewaardeerd!

R.
 
Ik heb ooit iets dergelijks gemaakt in Outlook VBA. Die code heb ik aan de zaak en zal morgens eens kijken of het eenvoudig aan te passen is aan wat je wilt.
 
@edmoor: als je dat willen posten...heel graag! Ik heb al even zitten stoeien met VBA maar ik krijg het niet voor elkaar.

@manamana: volgens mij gaan deze tips over bulk copieren, wat ik zoek is...ik ga op een bericht staan in mijn inbox en via een sneltoets kopieer (/verplaats) ik het bericht naar een specifieke map in mijn persoonlijke .pst bestanden.

De reden is dat ik last krijg van RSI doordat ik veel met de muis werk.

Bedankt.
 
Ik heb de code maar nog geen tijd gehad er iets mee te doen. Deze functie controleert of er in een bepaalde mailbox een nieuw bericht binnen is en heb ik ergens vorig jaar gemaakt.
Deze wil ik dus aanpassen naar wat jij ermee wilt. Bijna alles wat nodig is staat erin.
Wellicht kun je er je voordeel mee doen. Ik denk er voor het weekend geen tijd voor te krijgen.

Code:
Option Explicit
Public WithEvents ns As Items
Public olInboxFolder As MAPIFolder
Public InboxID As String

Private Sub Application_Startup()
    ' Deze functie wordt aangeroepen wanneer Outlook start
    ' Na evt. wijzigingen cursor hierin plaatsen en op F5 drukken om uit te voeren, of Outlook herstarten
    ' Gebruik de functie GetOutlookFolderID om onderstaande ID's te verkrijgen
    ' Deze verschillen per account en machine
    InboxID = "00000000007F212004D7AD439AF7680EDF4C7ADA01007487B4DACC3AC4498AAA650886072E0800000000001A0000"

    'Set ns = Application.GetNamespace("MAPI").GetFolderFromID(InboxID).Items

End Sub

Private Sub ns_ItemAdd(ByVal item As Object)
    Dim MsgItem As Object

    On Local Error Resume Next
    For Each MsgItem In ns
        If MsgItem.UnRead = True Then
            MsgBox ("Nieuw bericht van " & item.SenderEmailAddress), vbInformation
            MsgItem.UnRead = False
        End If
    Next
    Set olInboxFolder = Nothing
End Sub

Private Sub GetOutlookFolderID()
   Dim olfolder As Outlook.MAPIFolder
   Dim olApp As Outlook.Application
   Set olApp = CreateObject("Outlook.Application")
   Set olfolder = olApp.GetNamespace("MAPI").PickFolder
   ' olfolder.Display
   Debug.Print (olfolder.EntryID)
   Set olfolder = Nothing
   Set olApp = Nothing
End Sub
 
Laatst bewerkt:
Ervan uitgaande dat je de map Bewaar onder de map Postvak IN hebt aangemaakt lost deze macro je probleem op :
Code:
Sub MoveToFolderBewaren()

'opbouw van de mappenstruktuur :
'\\Persoonlijke mappen\Postvak IN\Bewaren

On Error Resume Next
Dim objFolder As Outlook.MAPIFolder, objInbox As Outlook.MAPIFolder
Dim objNS As Outlook.NameSpace, objItem As Outlook.MailItem
Set objNS = Application.GetNamespace("MAPI")
Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
Set objBewaarFolder = objInbox.Folders("Bewaren")

'indien de folder "Bewaren" niet aanwezig is de macro stoppen
If objBewaarFolder Is Nothing Then
    Exit Sub
End If

'Require that this procedure be called only when a message is selected
If Application.ActiveExplorer.Selection.Count = 0 Then
    MsgBox "Er is geen e-mail bericht geselecteerd.", vbOKOnly + vbExclamation, "Foutmelding"
    Exit Sub
End If

For Each objItem In Application.ActiveExplorer.Selection
    If objFolder.DefaultItemType = olMailItem Then
        If objItem.Class = olMail Then
            objItem.UnRead = False
            objItem.Move objBewaarFolder
        End If
    End If
Next

Set objItem = Nothing
Set objBewaarFolder = Nothing
Set objInbox = Nothing
Set objNS = Nothing

End Sub
De macro kan je koppelen aan een icoontje in je menubalk. Door de naam aan te passen naar bijv. &MoveToFolderBewaren kan je met ALT+M de macro laten lopen...
Goed om weten : de macro verplaatst alle geselecteerde berichten:)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan