Solved

outlook 2010 compatability

Posted on 2010-11-22
3
257 Views
Last Modified: 2012-05-10
The following code works in Outlook 2007. However in Outlook 2010 it does not work. No errors are produced. It is supposed to look through a users inbox and identify any e-mails with the text "Vizzihome" in the subject line and then split the body text into components.

In 2007, all the e-mails are picked up and split correctly. In 2010 none of the e-mails are picked up. Any thoughts ?
Dim mail_subject As String
Dim address_lines As Variant
ReDim address_lines_str(20) As String
Dim no_of_address As Long
Dim full_address As String
Dim Category As String


Dim j As Long
Dim r As Long
Dim p As Long
Dim str_len As Long
Dim hyperlink_pos As Long
Dim pos_of_postcode As Long
Dim postcode_area As String
Dim pos_of_full_stop As Long
Dim pos_of_Bedroom As Long
Dim next_row As Long
Dim pos_of_date As Long
Dim pos_of_Current_price As Long
Dim No_of_Bedrooms As String


r = 4


'* point to the name space
Set oNameSpace = Application.GetNamespace("MAPI")

'* set a reference to the inbox folder
Set oFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)

'* loop through the inbox

For Each oInboxItem In oFolder.Items


mail_subject = oInboxItem.Subject

pos_of_full_stop = check_source(mail_subject, ".")


If (check_source(mail_subject, "Vizzihome") > 0) And (pos_of_full_stop > 0) Then
    
    ReDim address_lines_str(20)

    
    
    address_lines = Split(oInboxItem.Body, "Address:")
    
    no_of_address = UBound(address_lines)
    
    
    'tidy up address lines
    
    
    
    For j = 0 To no_of_address
        
        Category = Right(mail_subject, Len(mail_subject) - pos_of_full_stop)
        
           'position of date
               
           pos_of_date = check_source(Category, "(")
        
          Reporting_Week = Right(Category, Len(Category) - pos_of_date)
          Reporting_Week = Left(Reporting_Week, Len(Reporting_Week) - 2)
          
          
         
         If pos_of_date > 0 Then
            Category = Left(Category, pos_of_date - 2)
         End If
         
        
                objWB.Sheets("sheet1").Range("d1").Value = Reporting_Week
        
        
        address_lines_str(j) = CStr(address_lines(j))
        
        
        'position of hyperlink
        
        hyperlink_pos = check_source(address_lines_str(j), "HYPERLINK")
        
        
        
        
        If hyperlink_pos > 0 Then
        
             r = r + 1
             
            'write out reporting week
            
            objWB.Sheets("sheet1").Range("a" & r).Value = Category
    
         
            
            'remove hyperlink
            
            address_lines_str(j) = Left(address_lines_str(j), hyperlink_pos - 1)
            
            objWB.Sheets("sheet1").Range("b" & r).Value = address_lines_str(j)
            
            'position of postcode
            
            pos_of_postcode = check_source(address_lines_str(j), "Postcode")
            
            full_address = Left(address_lines_str(j), pos_of_postcode - 3)
            
            objWB.Sheets("sheet1").Range("d" & r).Value = full_address
         
            address_lines_str(j) = Right(address_lines_str(j), Len(address_lines_str(j)) - pos_of_postcode + 1)
            
            pos_of_Bedroom = check_source(address_lines_str(j), "Bedroom")
            
            postcode_area = Left(address_lines_str(j), pos_of_Bedroom - 3)
                                    
            objWB.Sheets("sheet1").Range("k" & r).Value = postcode_area
                                                
            address_lines_str(j) = Right(address_lines_str(j), Len(address_lines_str(j)) - pos_of_Bedroom + 1)
            
            pos_of_Current_price = check_source(address_lines_str(j), "Current")
            
            No_of_Bedrooms = Left(address_lines_str(j), pos_of_Current_price - 3)
            
            
            objWB.Sheets("sheet1").Range("m" & r).Value = No_of_Bedrooms
        
            address_lines_str(j) = Right(address_lines_str(j), Len(address_lines_str(j)) - pos_of_Current_price + 1)
        
            objWB.Sheets("sheet1").Range("o" & r).Value = address_lines_str(j)
            
            
        End If
        
        
    Next j
    
 End If





Next

Open in new window

0
Comment
Question by:Kaps_68
3 Comments
 
LVL 74

Accepted Solution

by:
Jeffrey Coachman earned 250 total points
ID: 34196652
You might want to start by searching here:
http://www.outlookcode.com/
0
 
LVL 15

Expert Comment

by:riteheer
ID: 37693343
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Read this checklist to learn more about the 15 things you should never include in an email signature.
Having trouble getting your hands on Dynamics 365 Field Service or Project Service trial? Worry No More!!!
This Micro Tutorial demonstrates  how Internet marketers work with competitive analysis data, and a common task in data preparation is creating separate column for domains. You will then extract from a list of URLs.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question