![]() |
Move MailItems to another folder
I want to move MailItems from one folder to another. I know EntryID's of
those mails I want to move and I wrote simple code to do it. But, when executing Item.Move, error occures - "An unsent message can not be flaged complete." Sub aaaaaaaaaaaaaaa() Dim ns As NameSpace Dim Archive_0612 As MAPIFolder Dim FromFolder As MAPIFolder Dim Item As MailItem Dim t As Long Dim DBS As New ADODB.Connection Dim rst As New ADODB.Recordset Set ns = GetNamespace("MAPI") Set FromFolder= ns.Folders.Item("Posloan.Risk") Set FromFolder= FromFolder.Folders.Item("Inbox") Set Archive_0612 = ns.Folders.Item("Archive Folders") Set Archive_0612 = Archive_0612.Folders.Item("Inbox") With DBS .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0" .Open "D:\MailID.mdb" End With rst.Open "SELECT MailIDs.* FROM MailIDs ORDER BY MailIDs.EntryTime;", DBS, adOpenKeyset, adLockPessimistic rst.MoveFirst For t = 0 To rst.RecordCount - 1 Set Item = ns.GetItemFromID(rst!EntryID, FromFolder.StoreID) Item.Move Archive_0612 'HERE IS THE PROBLEM...... rst!Done = 1 rst.MoveNext Next t rst.Close DBS.Close End Sub Please, someone help me with this... |
Move MailItems to another folder
Before moving the item check if it's flagged as completed; if so, delete the flag, move the item and set the flag again. -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook Organize Outlook email: http://www.vboffice.net/product.html?id=2006063&cmd=detail&lang=en&pub=6 Am Sat, 23 Jun 2007 06:28:02 -0700 schrieb Gvaram: I want to move MailItems from one folder to another. I know EntryID's of those mails I want to move and I wrote simple code to do it. But, when executing Item.Move, error occures - "An unsent message can not be flaged complete." Sub aaaaaaaaaaaaaaa() Dim ns As NameSpace Dim Archive_0612 As MAPIFolder Dim FromFolder As MAPIFolder Dim Item As MailItem Dim t As Long Dim DBS As New ADODB.Connection Dim rst As New ADODB.Recordset Set ns = GetNamespace("MAPI") Set FromFolder= ns.Folders.Item("Posloan.Risk") Set FromFolder= FromFolder.Folders.Item("Inbox") Set Archive_0612 = ns.Folders.Item("Archive Folders") Set Archive_0612 = Archive_0612.Folders.Item("Inbox") With DBS .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0" .Open "D:\MailID.mdb" End With rst.Open "SELECT MailIDs.* FROM MailIDs ORDER BY MailIDs.EntryTime;", DBS, adOpenKeyset, adLockPessimistic rst.MoveFirst For t = 0 To rst.RecordCount - 1 Set Item = ns.GetItemFromID(rst!EntryID, FromFolder.StoreID) Item.Move Archive_0612 'HERE IS THE PROBLEM...... rst!Done = 1 rst.MoveNext Next t rst.Close DBS.Close End Sub Please, someone help me with this... |
Move MailItems to another folder
Thank you very much. I did it and it works now:)
But another question. after moving item I wrote "Item.FlagStatus = olFlagComplete", but it does not change anithing. What should I do to mark the items as completed? "Michael Bauer [MVP - Outlook]" wrote: Before moving the item check if it's flagged as completed; if so, delete the flag, move the item and set the flag again. -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook Organize Outlook email: http://www.vboffice.net/product.html?id=2006063&cmd=detail&lang=en&pub=6 Am Sat, 23 Jun 2007 06:28:02 -0700 schrieb Gvaram: I want to move MailItems from one folder to another. I know EntryID's of those mails I want to move and I wrote simple code to do it. But, when executing Item.Move, error occures - "An unsent message can not be flaged complete." Sub aaaaaaaaaaaaaaa() Dim ns As NameSpace Dim Archive_0612 As MAPIFolder Dim FromFolder As MAPIFolder Dim Item As MailItem Dim t As Long Dim DBS As New ADODB.Connection Dim rst As New ADODB.Recordset Set ns = GetNamespace("MAPI") Set FromFolder= ns.Folders.Item("Posloan.Risk") Set FromFolder= FromFolder.Folders.Item("Inbox") Set Archive_0612 = ns.Folders.Item("Archive Folders") Set Archive_0612 = Archive_0612.Folders.Item("Inbox") With DBS .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0" .Open "D:\MailID.mdb" End With rst.Open "SELECT MailIDs.* FROM MailIDs ORDER BY MailIDs.EntryTime;", DBS, adOpenKeyset, adLockPessimistic rst.MoveFirst For t = 0 To rst.RecordCount - 1 Set Item = ns.GetItemFromID(rst!EntryID, FromFolder.StoreID) Item.Move Archive_0612 'HERE IS THE PROBLEM...... rst!Done = 1 rst.MoveNext Next t rst.Close DBS.Close End Sub Please, someone help me with this... |
Move MailItems to another folder
Move() returns the new item, the original item must be immediatley
dereferenced: set Item = Item.Move(Archive_0612) Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Gvaram" wrote in message ... Thank you very much. I did it and it works now:) But another question. after moving item I wrote "Item.FlagStatus = olFlagComplete", but it does not change anithing. What should I do to mark the items as completed? "Michael Bauer [MVP - Outlook]" wrote: Before moving the item check if it's flagged as completed; if so, delete the flag, move the item and set the flag again. -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook Organize Outlook email: http://www.vboffice.net/product.html?id=2006063&cmd=detail&lang=en&pub=6 Am Sat, 23 Jun 2007 06:28:02 -0700 schrieb Gvaram: I want to move MailItems from one folder to another. I know EntryID's of those mails I want to move and I wrote simple code to do it. But, when executing Item.Move, error occures - "An unsent message can not be flaged complete." Sub aaaaaaaaaaaaaaa() Dim ns As NameSpace Dim Archive_0612 As MAPIFolder Dim FromFolder As MAPIFolder Dim Item As MailItem Dim t As Long Dim DBS As New ADODB.Connection Dim rst As New ADODB.Recordset Set ns = GetNamespace("MAPI") Set FromFolder= ns.Folders.Item("Posloan.Risk") Set FromFolder= FromFolder.Folders.Item("Inbox") Set Archive_0612 = ns.Folders.Item("Archive Folders") Set Archive_0612 = Archive_0612.Folders.Item("Inbox") With DBS .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0" .Open "D:\MailID.mdb" End With rst.Open "SELECT MailIDs.* FROM MailIDs ORDER BY MailIDs.EntryTime;", DBS, adOpenKeyset, adLockPessimistic rst.MoveFirst For t = 0 To rst.RecordCount - 1 Set Item = ns.GetItemFromID(rst!EntryID, FromFolder.StoreID) Item.Move Archive_0612 'HERE IS THE PROBLEM...... rst!Done = 1 rst.MoveNext Next t rst.Close DBS.Close End Sub Please, someone help me with this... |
Move MailItems to another folder
Additionally to Dmitry, the after changing the item it must be saved. -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook Organize Outlook email: http://www.vboffice.net/product.html?id=2006063&cmd=detail&lang=en&pub=6 Am Sun, 24 Jun 2007 09:55:01 -0700 schrieb Gvaram: Thank you very much. I did it and it works now:) But another question. after moving item I wrote "Item.FlagStatus = olFlagComplete", but it does not change anithing. What should I do to mark the items as completed? "Michael Bauer [MVP - Outlook]" wrote: Before moving the item check if it's flagged as completed; if so, delete the flag, move the item and set the flag again. -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook Organize Outlook email: http://www.vboffice.net/product.html?id=2006063&cmd=detail&lang=en&pub=6 Am Sat, 23 Jun 2007 06:28:02 -0700 schrieb Gvaram: I want to move MailItems from one folder to another. I know EntryID's of those mails I want to move and I wrote simple code to do it. But, when executing Item.Move, error occures - "An unsent message can not be flaged complete." Sub aaaaaaaaaaaaaaa() Dim ns As NameSpace Dim Archive_0612 As MAPIFolder Dim FromFolder As MAPIFolder Dim Item As MailItem Dim t As Long Dim DBS As New ADODB.Connection Dim rst As New ADODB.Recordset Set ns = GetNamespace("MAPI") Set FromFolder= ns.Folders.Item("Posloan.Risk") Set FromFolder= FromFolder.Folders.Item("Inbox") Set Archive_0612 = ns.Folders.Item("Archive Folders") Set Archive_0612 = Archive_0612.Folders.Item("Inbox") With DBS .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0" .Open "D:\MailID.mdb" End With rst.Open "SELECT MailIDs.* FROM MailIDs ORDER BY MailIDs.EntryTime;", DBS, adOpenKeyset, adLockPessimistic rst.MoveFirst For t = 0 To rst.RecordCount - 1 Set Item = ns.GetItemFromID(rst!EntryID, FromFolder.StoreID) Item.Move Archive_0612 'HERE IS THE PROBLEM...... rst!Done = 1 rst.MoveNext Next t rst.Close DBS.Close End Sub Please, someone help me with this... |
Move MailItems to another folder
Fine...
Thank you both "Michael Bauer [MVP - Outlook]" wrote: Additionally to Dmitry, the after changing the item it must be saved. -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook Organize Outlook email: http://www.vboffice.net/product.html?id=2006063&cmd=detail&lang=en&pub=6 Am Sun, 24 Jun 2007 09:55:01 -0700 schrieb Gvaram: Thank you very much. I did it and it works now:) But another question. after moving item I wrote "Item.FlagStatus = olFlagComplete", but it does not change anithing. What should I do to mark the items as completed? "Michael Bauer [MVP - Outlook]" wrote: Before moving the item check if it's flagged as completed; if so, delete the flag, move the item and set the flag again. -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook Organize Outlook email: http://www.vboffice.net/product.html?id=2006063&cmd=detail&lang=en&pub=6 Am Sat, 23 Jun 2007 06:28:02 -0700 schrieb Gvaram: I want to move MailItems from one folder to another. I know EntryID's of those mails I want to move and I wrote simple code to do it. But, when executing Item.Move, error occures - "An unsent message can not be flaged complete." Sub aaaaaaaaaaaaaaa() Dim ns As NameSpace Dim Archive_0612 As MAPIFolder Dim FromFolder As MAPIFolder Dim Item As MailItem Dim t As Long Dim DBS As New ADODB.Connection Dim rst As New ADODB.Recordset Set ns = GetNamespace("MAPI") Set FromFolder= ns.Folders.Item("Posloan.Risk") Set FromFolder= FromFolder.Folders.Item("Inbox") Set Archive_0612 = ns.Folders.Item("Archive Folders") Set Archive_0612 = Archive_0612.Folders.Item("Inbox") With DBS .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0" .Open "D:\MailID.mdb" End With rst.Open "SELECT MailIDs.* FROM MailIDs ORDER BY MailIDs.EntryTime;", DBS, adOpenKeyset, adLockPessimistic rst.MoveFirst For t = 0 To rst.RecordCount - 1 Set Item = ns.GetItemFromID(rst!EntryID, FromFolder.StoreID) Item.Move Archive_0612 'HERE IS THE PROBLEM...... rst!Done = 1 rst.MoveNext Next t rst.Close DBS.Close End Sub Please, someone help me with this... |
All times are GMT +1. The time now is 10:39 AM. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com