View Single Post
  #3  
Old March 22nd 07, 10:40 PM posted to microsoft.public.outlook.program_vba
Oggy
external usenet poster
 
Posts: 18
Default Get contacts from Public folder

On 22 Mar, 20:34, "Dmitry Streblechenko" wrote:
Instead of using Namespace.GetDefaultFolder, you need to drill down the
folder hierarchy starting with the Namespace.Folders collection

Dmitry Streblechenko (MVP)http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"Oggy" wrote in message

ups.com...



Hi,


I have the following code that gets my contacts from outlook and lists
then in a listbox on a form to select one.
Please advise how i can change the code to get other contacts from a
public folder, This is also as a favorite folder in Outlook


Thanks in advance


Regards


Oggy


Private Sub UserForm_Initialize()
Dim olApp As Outlook.Application
Dim oContact As Outlook.ContactItem
Dim oContactFolder As Outlook.MAPIFolder
Dim oContactItems As Outlook.Items
Dim oNS As Outlook.Namespace
Dim i As Long
Dim j As Long
Dim arr()


With Me.ComboBox1
.ColumnCount = 3
.ColumnWidths = "175 pt;150 pt;200 pt"
.TextColumn = -1


End With


On Error GoTo XIT
Set olApp = New Outlook.Application
Set oNS = olApp.GetNamespace("MAPI")
Set oContactFolder = oNS.GetDefaultFolder(olFolderContacts)
Set oContactItems = oContactFolder.Items


With Me
For i = 1 To oContactItems.Count
If oContactItems.Item(i).Class = olContact Then
Set oContact = oContactItems.Item(i)
If oContact.Categories = "Customer " Then
j = j + 1
ReDim Preserve arr(0 To 2, 1 To j)
With oContact
arr(0, j) = .CompanyName
arr(1, j) = .FullName
arr(2, j) = .BusinessAddress
End With
End If
End If
Next i


Me.ComboBox1.List() = Application.Transpose(arr)


End With


XIT:
Set oContact = Nothing
Set oContactItems = Nothing
Set oContactFolder = Nothing
Set oNS = Nothing
Set olApp = Nothing
End Sub- Hide quoted text -


- Show quoted text -



The contacts are in the following

Public Folders\Favorites\Oggy Contacts


I have Tried the following code but to no avail,

On Error GoTo XIT
Set olApp = New Outlook.Application
Set oNS = olApp.GetNamespace("MAPI")
Set oContactFolder = oNS.GetPublicFoldersFavoritesOggyContacts(olFolder Contacts)
Set oContactItems = oContactFolder.Items



Thanks for your input

Oggy

Ads