A Microsoft Outlook email forum. Outlook Banter

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » Outlook Banter forum » Microsoft Outlook Email Newsgroups » Outlook and VBA
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

Outlook Userform Combobox Sort Code



 
 
Thread Tools Search this Thread Display Modes
  #1  
Old September 11th 13, 08:13 PM
lms lms is offline
Junior Member
 
First recorded activity at Outlookbanter: Jun 2013
Posts: 8
Default Outlook Userform Combobox Sort Code

The following code searches all Categories for the contacts that are in each Category, and this includes contacts from the Contact folder, and it's sub-folders, sub-sub folders, and its sub-sub-sub folders. So the Combobox named "ddlCategories" shows the list of all Categories and when click on one of the Categories, the Combobox named "ddlContacts" shows the list of all contacts assigned to the Category I click on, and as to the list of Contacts that show up, each one is link to the specific contact so when I click on the Contact name, it opens up the Contact itself.

But what has happened is that the list of the Categories are not sorted on an alphabetical basis....and the Contacts that show up which are from different folders, are sorted alphabetically as to each folder it comes from, not sorted simply as to all the contacts.

So the question is, is there something to add to the code and where, so that each Combobox sorts what shows up on a full alphabetical basis? Thanks to all.



Private Sub ddlCategories_Change()
Dim objOutlook As outlook.Application
Dim objNS As outlook.NameSpace
Dim objFolder As outlook.MAPIFolder
Dim ctc As ContactItem
Dim FolderName As String
Dim fldr As folder
Dim flder As outlook.folder
Dim flderr As outlook.folder
Dim myContacts As outlook.items
Dim Category As String

Category = Me.ddlCategories.Text

Set objOutlook = CreateObject("Outlook.Application")
Set objFolder = objOutlook.Session.GetDefaultFolder(OlDefaultFolde rs.olFolderContacts)

Me.ddlContacts.Clear

If objFolder.Folders.Count 0 Then

Set myContacts = objFolder.items.Restrict("[Categories] = '" & Category & "'")
If myContacts.Count 0 Then
myContacts.Sort "[Fullname]", False

For Each ctc In myContacts
Me.ddlContacts.addItem ctc.FullName
Next
End If

For Each fldr In objFolder.Folders
Set myContacts = fldr.items.Restrict("[Categories] = '" & Category & "'")
If myContacts.Count 0 Then
myContacts.Sort "[Fullname]", False

For Each ctc In myContacts
Me.ddlContacts.addItem ctc.FullName
Next
End If

For Each flder In fldr.Folders
Set myContacts = flder.items.Restrict("[Categories] = '" & Category & "'")
If myContacts.Count 0 Then
myContacts.Sort "[Fullname]", False

For Each ctc In myContacts
Me.ddlContacts.addItem ctc.FullName
Next
End If

For Each flderr In flder.Folders
Set myContacts = flderr.items.Restrict("[Categories] = '" & Category & "'")
If myContacts.Count 0 Then
myContacts.Sort "[Fullname]", False

For Each ctc In myContacts
Me.ddlContacts.addItem ctc.FullName
Next
End If
Next
Next
Next



End If

End Sub

Private Sub UserForm_Initialize()
'The loads the Outlook userform and populates the combobox of contact folders.

Dim objOutlook As outlook.Application
Dim objNS As outlook.NameSpace
Dim objFolder As outlook.MAPIFolder
Dim Category
Set objOutlook = CreateObject("Outlook.Application")

For Each Category In Application.Session.Categories
Me.ddlCategories.addItem Category
Next




End Sub



Private Sub ddlContacts_Change()
'This opens the contact form for the contact selected.
Dim objOutlook As outlook.Application
Dim objNS As outlook.NameSpace
Dim ctcItems As outlook.items
Dim ctc As ContactItem
Dim objFolder As outlook.MAPIFolder
Dim ctcFolder As outlook.MAPIFolder
Dim FolderName As String
Dim ContactName As String
Dim FoundFolder As outlook.folder

Set objOutlook = CreateObject("Outlook.Application")
Set objFolder = objOutlook.Session.GetDefaultFolder(OlDefaultFolde rs.olFolderContacts)

ContactName = Me.ddlContacts.Text

If objFolder.Folders.Count 0 Then


Set ctcItems = objFolder.items.Restrict("[FullName] = '" & ContactName & "'")
If ctcItems.Count 0 Then
Me.Hide
For Each ctc In ctcItems
ctc.Display
Next
Exit Sub

Else

For Each fldr In objFolder.Folders
Set ctcItems = fldr.items.Restrict("[FullName] = '" & ContactName & "'")
If ctcItems.Count 0 Then
Me.Hide
For Each ctc In ctcItems
ctc.Display
Next
Exit Sub
Else
For Each flder In fldr.Folders
Set ctcItems = flder.items.Restrict("[FullName] = '" & ContactName & "'")
If ctcItems.Count 0 Then
Me.Hide
For Each ctc In ctcItems
ctc.Display
Next
Exit Sub

Else

For Each flderr In flder.Folders
Set ctcItems = flderr.items.Restrict("[FullName] = '" & ContactName & "'")
If ctcItems.Count 0 Then
Me.Hide
For Each ctc In ctcItems
ctc.Display
Next
Exit Sub

End If
Next
End If
Next

End If

Next

End If



End If

End Sub

Private Function FullFolderName(ByVal FolderName As String) As outlook.folder

End Function
Ads
 




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
userform combobox Jonathan Outlook and VBA 1 May 25th 10 02:32 AM
combobox list in userform robzrob Outlook and VBA 1 May 24th 10 06:12 PM
Using Excel UserForm from Open Workbook in Outlook VBA wpiet Outlook and VBA 5 September 17th 09 08:37 PM
Outlook vba errror message says Access can't find my userform MarceepooNu Outlook and VBA 5 October 8th 08 09:19 PM
sort by zip code in outlook 2007 crazy old man Outlook - Using Contacts 8 July 28th 08 09:01 PM


All times are GMT +1. The time now is 08:39 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2024 Outlook Banter.
The comments are property of their posters.