![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
#7
|
|||
|
|||
![]()
It will do because you are not correctly setting myItem in the first place.
Create yourself a new Class (let's say it's called Class1) and insert the following code into it:- Dim WithEvents myInspectors As Inspectors Dim myDestFolder As MAPIFolder Private Sub Class_Initialize() Set myInspectors = Outlook.Inspectors Set myDestFolder = Outlook.GetNamespace("MAPI").GetDefaultFolder(olFo lderInbox).Folders("Processed") End Sub Private Sub myInspector_NewInspector(ByVal Inspector As Inspector) Dim myItem As Object Set myItem = Inspector.CurrentItem If TypeName(myItem) = "MailItem" Then Set myMailItem = myItem End If Set myItem = Nothing End Sub Private Sub Class_Terminate() Set myDestFolder = Nothing Set myInspectors = Nothing End Sub Private Sub myMailItem_Close(Cancel As Boolean) myMailItem.Move mtDestFolder End Sub Now in the ThisOutlookSession code window include the following code:- Private Sub Application_Quit() Set myClass = Nothing End Sub Private Sub Application_Startup() Set myClass = New Class1 End Sub This code will currently move any mailitem opened to be moved to the processed folder, so you will need to think about including some checking (such as the item isnt already in the processed folder). -- Alan Moseley IT Consultancy http://www.amitc.co.uk If I have solved your problem, please click Yes below. Thanks. "Vasil Vasilev" wrote: I tried to remove this... still no luck ![]() The process fails on trying to execute myItem.Move destFolder "Alan Moseley" wrote: I think I see your problem. When you open Outlook you are setting myItem to be the CurrentItem of the ActiveInspector (within the Application_Startup Sub). Surely when you open outlook you won't have an ActiveInspector. You need to set myItem when opening a MailItem surely? -- Alan Moseley IT Consultancy http://www.amitc.co.uk If I have solved your problem, please click Yes below. Thanks. "Vasil Vasilev" wrote: Hi Alan, thanks for the answer. Unfortunatelly the problem still persists. ![]() "Alan Moseley" wrote: You are creating a separate process for your myApp object, which you don't need and will cause problems. Your code doesn't actaully use the myApp object anywhere so you don't need any of them, but if other areas of your code do make use of them then change :- Dim myApp As New Outlook.Application to Dim myApp As Outlook.Application next change Set myApp = CreateObject("Outlook.Application") to set myApp = Outlook Lastly change Set objNS = GetNamespace("MAPI") to Set objNS = Outlook.GetNamespace("MAPI") or Set objNS = myApp.GetNamespace("MAPI") Does this prevent the problem? -- Alan Moseley IT Consultancy http://www.amitc.co.uk If I have solved your problem, please click Yes below. Thanks. |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Inspecter Close Event | dch3 | Outlook and VBA | 2 | August 27th 07 11:34 AM |
MailItem Close Event | Robert Morley | Outlook and VBA | 8 | April 19th 07 09:03 PM |
Explorer' Close event not fired | j | Add-ins for Outlook | 9 | April 2nd 07 02:24 PM |
Inspector Close Event is fired when spell checking is canceled. | Arcady | Outlook and VBA | 6 | December 28th 06 02:38 PM |
Cancelling Outlook.Application.ActiveExplorer.Close event? | Nathan | Add-ins for Outlook | 1 | September 8th 06 07:14 PM |