Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sub Whatever
- Dim Ns As Outlook.NameSpace
- Dim Contacts As Items
- Dim Contact As ContactItem
- Set Ns = Application.GetNamespace("MAPI")
- 'use the default folder
- Set Contacts = Ns.GetDefaultFolder(olFolderContacts).Items.Restrict("[MessageClass]='IPM.Contact'")
- 'do whatever
- On Error GoTo WTF
- For Each Item In Contacts
- If Item.Class = olContact Then
- Set Contact = Item
- With Contact
- ' Call SetCategories(Contact)
- '.MobileTelephoneNumber = FormatTel(.MobileTelephoneNumber)
- '.AssistantTelephoneNumber = FormatTel(.AssistantTelephoneNumber)
- '.Business2TelephoneNumber = FormatTel(.Business2TelephoneNumber)
- '.BusinessFaxNumber = FormatTel(.BusinessFaxNumber)
- '.BusinessTelephoneNumber = FormatTel(.BusinessTelephoneNumber)
- '.CallbackTelephoneNumber = Format(.CallbackTelephoneNumber)
- '.CarTelephoneNumber = FormatTel(.CarTelephoneNumber)
- '.CompanyMainTelephoneNumber = FormatTel(.CompanyMainTelephoneNumber)
- '.Home2TelephoneNumber = FormatTel(.Home2TelephoneNumber)
- '.HomeFaxNumber = FormatTel(.HomeFaxNumber)
- '.HomeTelephoneNumber = FormatTel(.HomeTelephoneNumber)
- '.OtherFaxNumber = FormatTel(.OtherFaxNumber)
- '.OtherTelephoneNumber = FormatTel(.OtherTelephoneNumber)
- '.PagerNumber = FormatTel(.PagerNumber)
- '.PrimaryTelephoneNumber = FormatTel(.PrimaryTelephoneNumber)
- '.RadioTelephoneNumber = FormatTel(.RadioTelephoneNumber)
- '.TTYTDDTelephoneNumber = FormatTel(.TTYTDDTelephoneNumber)
- ' prioritise
- PrioritySwitch .MobileTelephoneNumber, .BusinessTelephoneNumber, True
- PrioritySwitch .MobileTelephoneNumber, .Business2TelephoneNumber, True
- PrioritySwitch .MobileTelephoneNumber, .BusinessFaxNumber, True
- PrioritySwitch .MobileTelephoneNumber, .CompanyMainTelephoneNumber, True
- PrioritySwitch .MobileTelephoneNumber, .PrimaryTelephoneNumber, True
- PrioritySwitch .MobileTelephoneNumber, .AssistantTelephoneNumber, True
- PrioritySwitch .MobileTelephoneNumber, .CallbackTelephoneNumber, True
- PrioritySwitch .MobileTelephoneNumber, .CarTelephoneNumber, True
- PrioritySwitch .MobileTelephoneNumber, .CompanyMainTelephoneNumber, True
- PrioritySwitch .MobileTelephoneNumber, .Home2TelephoneNumber, True
- PrioritySwitch .MobileTelephoneNumber, .HomeTelephoneNumber, True
- PrioritySwitch .MobileTelephoneNumber, .OtherTelephoneNumber, True
- PrioritySwitch .MobileTelephoneNumber, .PagerNumber, True
- PrioritySwitch .MobileTelephoneNumber, .HomeFaxNumber, True
- PrioritySwitch .MobileTelephoneNumber, .OtherFaxNumber, True
- If Not .Saved Then .Save
- End With
- End If
- Next
- Exit Sub
- WTF:
- Debug.Print Contact
- End Sub
- Sub PrioritySwitch(ByRef Tel1 As String, ByRef Tel2 As String, mobileOnly As Boolean)
- Dim t1 As String
- Dim switchTel As Boolean
- switchTel = False
- 'Logic code goes here
- switchTel = True
- If switchTel Then
- t1 = Tel1
- Tel1 = Tel2
- Tel2 = t1
- End If
- End Sub
- With Contact
- '...
- PrioritySwitch .MobileTelephoneNumber, .BusinessTelephoneNumber, True
- Dim stackVar1 As String
- stackVar1 = Contact.MobileTelephoneNumber
- Dim stackVar2 As String
- stackVar2 = Contact.BusinessTelephoneNumber
- PrioritySwitch stackVar1, stackVar2, True
- '...and then stackVar1 and stackVar2 disappear...
- Public Property Let MobileTelephoneNumber(number As String)
- 'Frobs whatever Outlook does to store the number.
- End Property
- Public Property Get MobileTelephoneNumber() As String
- 'Frobs whatever Outlook does to retrieve the number.
- End Property
- Public Sub PrioritySwitch(target As ContactItem, propertyOne As String, _
- propertyTwo As String, mobileOnly As Boolean)
- Tel1 = CallByName(target, propertyOne, VbGet)
- Tel2 = CallByName(target, propertyTwo, VbGet)
- '...code that sets switchTel
- If switchTel Then
- CallByName target, propertyOne, VbLet, Tel2
- CallByName target, propertyTwo, VbLet, Tel1
- End If
- End Sub
- ' prioritise
- PrioritySwitch Contact, "MobileTelephoneNumber", "BusinessTelephoneNumber", True
- PrioritySwitch Contact, "MobileTelephoneNumber", "Business2TelephoneNumber", True
- PrioritySwitch Contact, "MobileTelephoneNumber", "BusinessFaxNumber", True
- PrioritySwitch Contact, "MobileTelephoneNumber", "CompanyMainTelephoneNumber", True
- ' etc...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement