LOCAL loOutlook, loNamespace, loAddressBook AS Outlook.MAPIFolder, loContact AS Object, lnContactCount, laContacts[ 1 ] loOutlook = CREATEOBJECT( 'Outlook.Application' ) loNamespace = loOutlook.GetNamespace( 'MAPI' ) *** Get a reference to the contacts folder loAddressBook = This.oNameSpace.GetDefaultFolder( 10 ) && olFolderContacts IF VARTYPE( loAddressBook ) = 'O' lnContactCount = 0 *** Get info about each contact into the array FOR EACH loContact IN loAddressBook.Items WITH loContact *** Make sure we only get individual contacts *** and skip any distribution lists IF .Class = 40 && olContact lnContactCount = lnContactCount + 1 DIMENSION laContacts[ lnContactCount, 4 ] laContacts[ lnContactCount, 1 ] = .LastName laContacts[ lnContactCount, 2 ] = .FirstName laContacts[ lnContactCount, 3 ] = .Email1Address laContacts[ lnContactCount, 4 ] = .FullName ENDIF ENDWITH ENDFOR ASORT( laContacts ) ENDIF