Late binding sample

Discussion in 'Microsoft Outlook Interoperability' started by John, Feb 23, 2006.

  1. John

    John Guest

    Hi

    I have the below code for communicating with outlook. What changes do I need
    to do to late bind this code so it does not need references to any
    particular version of outlook.

    Many Thanks

    Regards


    Imports System.Reflection
    Imports Outlook

    Module modContacts
    Dim O As Outlook.Application
    Dim F As Outlook.MAPIFolder
    Dim iCon As Outlook.ContactItem

    Sub Contacs2Outlook()

    O = New Outlook.Application
    F =
    O.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts)
    oContact = DirectCast(F.Items.Item(1), Outlook.ContactItem)
    oContact.Delete()

    iCon = CType(F.Items().Add(Outlook.OlItemType.olContactItem),
    Outlook.ContactItem)
    F.Items().Add(Outlook.OlItemType.olContactItem)
    With iCon
    .CompanyName = "My Computer"
    .Categories = "Clients"
    .Save()
    End With
    End Sub
    End Module
     
    John, Feb 23, 2006
    #1
    1. Advertisements

  2. John

    Guest Guest

    It would be something like this I believe:

    Dim O As Object
    Dim F As Object
    Dim iCon As Object

    Sub Contacs2Outlook()

    Dim oContact As Object
    O = CreateObject("Outlook.Application")
    F = O.Session.GetDefaultFolder(10)
    oContact = DirectCast(F.Items.Item(1), Outlook.ContactItem)
    oContact.Delete()

    iCon = CType(F.Items().Add(2), Outlook.ContactItem)
    F.Items().Add(2)
    With iCon
    .CompanyName = "My Computer"
    .Categories = "Clients"
    .Save()
    End With
    End Sub

    --
    Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.)
    Try Picture Attachments Wizard for Outlook:
    http://www.collaborativeinnovations.ca
    Blog: http://blogs.officezealot.com/legault/


    "John" wrote:

    > Hi
    >
    > I have the below code for communicating with outlook. What changes do I need
    > to do to late bind this code so it does not need references to any
    > particular version of outlook.
    >
    > Many Thanks
    >
    > Regards
    >
    >
    > Imports System.Reflection
    > Imports Outlook
    >
    > Module modContacts
    > Dim O As Outlook.Application
    > Dim F As Outlook.MAPIFolder
    > Dim iCon As Outlook.ContactItem
    >
    > Sub Contacs2Outlook()
    >
    > O = New Outlook.Application
    > F =
    > O.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts)
    > oContact = DirectCast(F.Items.Item(1), Outlook.ContactItem)
    > oContact.Delete()
    >
    > iCon = CType(F.Items().Add(Outlook.OlItemType.olContactItem),
    > Outlook.ContactItem)
    > F.Items().Add(Outlook.OlItemType.olContactItem)
    > With iCon
    > .CompanyName = "My Computer"
    > .Categories = "Clients"
    > .Save()
    > End With
    > End Sub
    > End Module
    >
    >
    >
     
    Guest, Feb 24, 2006
    #2
    1. Advertisements

  3. Although if not logged in already in that context I'd probably want to use
    GetNameSpace("MAPI") rather than Session. Some things aren't right if you
    use Session that way, it doesn't touch the store.

    --
    Ken Slovak
    [MVP - Outlook]
    http://www.slovaktech.com
    Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003
    Reminder Manager, Extended Reminders, Attachment Options
    http://www.slovaktech.com/products.htm


    "Eric Legault [MVP - Outlook]" <> wrote in
    message news:D...
    > It would be something like this I believe:
    >
    > Dim O As Object
    > Dim F As Object
    > Dim iCon As Object
    >
    > Sub Contacs2Outlook()
    >
    > Dim oContact As Object
    > O = CreateObject("Outlook.Application")
    > F = O.Session.GetDefaultFolder(10)
    > oContact = DirectCast(F.Items.Item(1), Outlook.ContactItem)
    > oContact.Delete()
    >
    > iCon = CType(F.Items().Add(2), Outlook.ContactItem)
    > F.Items().Add(2)
    > With iCon
    > .CompanyName = "My Computer"
    > .Categories = "Clients"
    > .Save()
    > End With
    > End Sub
    >
    > --
    > Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.)
    > Try Picture Attachments Wizard for Outlook:
    > http://www.collaborativeinnovations.ca
    > Blog: http://blogs.officezealot.com/legault/
    >
    >
    > "John" wrote:
    >
    >> Hi
    >>
    >> I have the below code for communicating with outlook. What changes do I
    >> need
    >> to do to late bind this code so it does not need references to any
    >> particular version of outlook.
    >>
    >> Many Thanks
    >>
    >> Regards
    >>
    >>
    >> Imports System.Reflection
    >> Imports Outlook
    >>
    >> Module modContacts
    >> Dim O As Outlook.Application
    >> Dim F As Outlook.MAPIFolder
    >> Dim iCon As Outlook.ContactItem
    >>
    >> Sub Contacs2Outlook()
    >>
    >> O = New Outlook.Application
    >> F =
    >> O.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts)
    >> oContact = DirectCast(F.Items.Item(1), Outlook.ContactItem)
    >> oContact.Delete()
    >>
    >> iCon = CType(F.Items().Add(Outlook.OlItemType.olContactItem),
    >> Outlook.ContactItem)
    >> F.Items().Add(Outlook.OlItemType.olContactItem)
    >> With iCon
    >> .CompanyName = "My Computer"
    >> .Categories = "Clients"
    >> .Save()
    >> End With
    >> End Sub
    >> End Module
    >>
    >>
    >>
     
    Ken Slovak - [MVP - Outlook], Feb 24, 2006
    #3
  4. Another potential issue is those pesky anti-virus programs that block calls to CreateObject("Outlook.Application.")

    --
    Sue Mosher, Outlook MVP
    Author of Configuring Microsoft Outlook 2003
    http://www.turtleflock.com/olconfig/index.htm
    and Microsoft Outlook Programming - Jumpstart for
    Administrators, Power Users, and Developers
    http://www.outlookcode.com/jumpstart.aspx


    "Ken Slovak - [MVP - Outlook]" <> wrote in message news:...
    > Although if not logged in already in that context I'd probably want to use
    > GetNameSpace("MAPI") rather than Session. Some things aren't right if you
    > use Session that way, it doesn't touch the store.
    >
    > --
    > Ken Slovak
    > [MVP - Outlook]
    > http://www.slovaktech.com
    > Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003
    > Reminder Manager, Extended Reminders, Attachment Options
    > http://www.slovaktech.com/products.htm
    >
    >
    > "Eric Legault [MVP - Outlook]" <> wrote in
    > message news:D...
    >> It would be something like this I believe:
    >>
    >> Dim O As Object
    >> Dim F As Object
    >> Dim iCon As Object
    >>
    >> Sub Contacs2Outlook()
    >>
    >> Dim oContact As Object
    >> O = CreateObject("Outlook.Application")
    >> F = O.Session.GetDefaultFolder(10)
    >> oContact = DirectCast(F.Items.Item(1), Outlook.ContactItem)
    >> oContact.Delete()
    >>
    >> iCon = CType(F.Items().Add(2), Outlook.ContactItem)
    >> F.Items().Add(2)
    >> With iCon
    >> .CompanyName = "My Computer"
    >> .Categories = "Clients"
    >> .Save()
    >> End With
    >> End Sub
    >>
    >> --
    >> Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.)
    >> Try Picture Attachments Wizard for Outlook:
    >> http://www.collaborativeinnovations.ca
    >> Blog: http://blogs.officezealot.com/legault/
    >>
    >>
    >> "John" wrote:
    >>
    >>> Hi
    >>>
    >>> I have the below code for communicating with outlook. What changes do I
    >>> need
    >>> to do to late bind this code so it does not need references to any
    >>> particular version of outlook.
    >>>
    >>> Many Thanks
    >>>
    >>> Regards
    >>>
    >>>
    >>> Imports System.Reflection
    >>> Imports Outlook
    >>>
    >>> Module modContacts
    >>> Dim O As Outlook.Application
    >>> Dim F As Outlook.MAPIFolder
    >>> Dim iCon As Outlook.ContactItem
    >>>
    >>> Sub Contacs2Outlook()
    >>>
    >>> O = New Outlook.Application
    >>> F =
    >>> O.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts)
    >>> oContact = DirectCast(F.Items.Item(1), Outlook.ContactItem)
    >>> oContact.Delete()
    >>>
    >>> iCon = CType(F.Items().Add(Outlook.OlItemType.olContactItem),
    >>> Outlook.ContactItem)
    >>> F.Items().Add(Outlook.OlItemType.olContactItem)
    >>> With iCon
    >>> .CompanyName = "My Computer"
    >>> .Categories = "Clients"
    >>> .Save()
    >>> End With
    >>> End Sub
    >>> End Module
    >>>
    >>>
    >>>

    >
     
    Sue Mosher [MVP-Outlook], Feb 24, 2006
    #4
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.

Share This Page