Click here to Skip to main content
15,881,803 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi there, I have a small program that checks my E:Mails & moves them to specific folders, but after an upgrade to Outlook 2010 it no longer works. I thought I probably needed to add a Reference (how do you tell which one ?!?) but I found a Blog suggesting that this may be due to a change in the way Outlook 2010 works. I am not an expert in VBA by any means, so if somebody could help I would appreciate it immensely.

This is the code ...

VB
Function OpenMAPIFolder(szPath) 
     
     'Pass a parameter to this module, in the following  format, to set the rightmost Folder
     'as the object, or live, Folder ... "\Gary\Kickabout\Attachments"
     
    Dim app, ns, flr, szDir, i 
    Set flr = Nothing 
    Set app = CreateObject("Outlook.Application") 
    If Left(szPath, Len("\")) = "\" Then 
        szPath = Mid(szPath, Len("\") + 1) 
    Else 
        Set flr = app.ActiveExplorer.CurrentFolder 
    End If 
    While szPath <> "" 
        i = InStr(szPath, "\") 
        If i Then 
            szDir = Left(szPath, i - 1) 
            szPath = Mid(szPath, i + Len("\")) 
        Else 
            szDir = szPath 
            szPath = "" 
        End If 
        If IsNothing(flr) Then 
            Set ns = app.GetNamespace("MAPI") 
            Set flr = ns.Folders(szDir) <<< The Error occurs on this line 
        Else 
            Set flr = flr.Folders(szDir) 
        End If 
    Wend 
    Set OpenMAPIFolder = flr 
End Function


... and this is the Error ...

"Run Time Error '-2147221233 (8004010f)':

The attempted operation failed. An object could not be found."
Posted
Comments
Richard MacCutchan 18-Sep-12 16:05pm    
You need to run this through the VBA debugger and find out which line of code causes the error. That should help identify what is going wrong.
Gary Heath 18-Sep-12 16:46pm    
The error occurs on the line where I have written "<<< The Error occurs on this line" !!!
Richard MacCutchan 18-Sep-12 16:50pm    
So you need to check the value of ns and szDir to see if they are valid or not.

You may want to run SCANPST first
 
Share this answer
 
Comments
Gary Heath 18-Sep-12 18:24pm    
Whilst I appreciate that you are trying to help, I do not understand why this would help ... it's a fully working program (in Outlook 2007) on a perfectly working E:Mail system (with no problems) ... however, I did it and it made no difference ...
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900