Outlook Banter

Outlook Banter (http://www.outlookbanter.com/)
-   Outlook and VBA (http://www.outlookbanter.com/outlook-vba/)
-   -   Move MailItems to another folder (http://www.outlookbanter.com/outlook-vba/51113-move-mailitems-another-folder.html)

Gvaram June 23rd 07 03:28 PM

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...

Michael Bauer [MVP - Outlook] June 24th 07 08:31 AM

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...


Gvaram June 24th 07 06:55 PM

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...



Dmitry Streblechenko June 25th 07 12:34 AM

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...





Michael Bauer [MVP - Outlook] June 25th 07 06:38 AM

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...



Gvaram June 25th 07 01:46 PM

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