Sorry to bump an old post... but I believe I have a - workaround - rather than a solution. We are using Exchange 2007 and Outlook 2007.
We use a public folder to store company wide contacts, setting the public folder as the default list for the address book - as explained earlier by retro77. This has been fine for months - until the question was asked "whether it was possible to set the public folder as the default when you click the contacts button on the OutlookBar?".
After a few hours of browsing it was becoming obvious that a workaround was required for this setup.
I should warn you now... this workaround involves VBA coding and i'll leave it up to you to decide if you are up to using this method. I'm not here to teach or preach VBA... this is just the way I did it.
You will need to: add your public folder to the list of favorites in outlook. You will also need the function GetFolder() from the site www.outlookcode.com - this site is a fantastic resource for VBA coding in outlook - many thanks to everyone there for the work they have done for the outlook community.
Using: "ThisOutlookSession" module...
-----------------------------------------------
Public WithEvents myOlExp As Outlook.Explorer
Public vbClickFolderName As String
Private Sub Application_Startup()
Initialize_handler
End Sub
Public Sub Initialize_handler()
Set myOlExp = Application.ActiveExplorer
End Sub
Private Sub myOlExp_SelectionChange()
Dim vbItemFolder, vbFolderPath, vbUserInfo
Dim myOLApp As Outlook.Application
Dim objItem As Outlook.NameSpace
vbFolderPath = Application.ActiveExplorer.CurrentFolder.FolderPath
vbItemFolder = myOlExp.CurrentFolder
Set myOLApp = Outlook.Application
Set objItem = myOLApp.GetNamespace("MAPI")
vbUserInfo = objItem.CurrentUser
If vbFolderPath = "\\Mailbox - " & vbUserInfo & "\Contacts" Then
If vbClickFolderName = "" Then
Set myOlExp.CurrentFolder = GetFolder("Public Folders\Favorites\[insert the name of your public folder]")
vbClickFolderName = myOlExp.CurrentFolder
Exit Sub
End If
If vbClickFolderName <> vbItemFolder Then
Set myOlExp.CurrentFolder = myOlExp.CurrentFolder
vbClickFolderName = ""
End If
End If
End Sub
-------------------------------------------
As with any VBA code - you have to set the security level to allow this code to run... so in that respect - this can be a security issue.
When calling the GetFolder function - PLEASE REMEMBER TO REPLACE [insert the name of your public folder] WITH THE NAME OF YOUR FOLDER...
Also... please note - this is a quick first run of the code... yes, the logic could be thought out a little better - but the code serves the purpose... if I need to later, I will change it. You are more than welcome to change it yourself...