J'utilise une macro dans Outlook 2003 pour déplacer les emails sélectionnés dans un dossier spécifique. Le déplacement fonctionne, mais malheureusement la date reçue est écrasée à l'heure actuelle. Toute idée sur la façon d'éviter cela.Outlook 2003/VBA Movin E-Mails sans changer la date
J'utilise ce code:
Sub verschiebenInOrdner()
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 objFolder = objNS.Folders.Item("2009").Folders.Item("In")
If objFolder Is Nothing Then
MsgBox "This folder doesn't exist!", vbOKOnly + vbExclamation, "INVALID FOLDER"
End If
If Application.ActiveExplorer.Selection.Count = 0 Then
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 objFolder
End If
End If
Next
Set objItem = Nothing
Set objFolder = Nothing
Set objInbox = Nothing
Set objNS = Nothing
End Sub
Merci à l'aide de 76mel je suis venu avec ceci:
Sub verschiebenInArchiv()
Dim Session As Redemption.rDOSession
Dim objFolder As Redemption.RDOFolder
Dim objItem As Outlook.MailItem
Dim objItem2 As Redemption.RDOMail
Set Session = CreateObject("Redemption.RDOSession")
Session.Logon
Set objFolder = Session.Stores.Item("2009").IPMRootFolder.Folders("In")
If Application.ActiveExplorer.Selection.Count = 0 Then
Exit Sub
End If
For Each objItem In Application.ActiveExplorer.Selection
Set objItem2 = Session.GetMessageFromID(objItem.EntryID, Session.Stores.DefaultStore.EntryID)
objItem2.Move objFolder
Next
End Sub
Cela fonctionne quand je suis dans ma boîte de réception. Est-ce que quelqu'un sait comment je peux définir le Store-ID dans GetMessageFromID à l'ID du magasin dans lequel ma sélection est faite?
Editer: Merci 76mel, j'utilise objItem.Parent.StoreID maintenant pour obtenir le StoreID actuel.
Je ne change pas la date pour moi en utilisant Outlook 2003 (11.8118.8132) SP2 –
Comme d'autres l'ont dit, cela ne devrait pas changer la date. Peut-être que votre code actuel est légèrement différent de ce que vous avez cité ici? –
exécutez-vous un autre code qui changerait la date? – 76mel