Microsoft Outlook considers fax numbers to be valid e-mail addresses. If you want to be able to send both e-mails and faxes from Outlook, there’s no solution to this issue.
If you are keeping the fax numbers just as a matter of record, though, and don’t use them in Microsoft Outlook, then you can choose one of the non-fax phone number fields to store the fax number information. Unfortunately, you can’t change the names of the built-in fields; you would need to remember which field contains fax numbers.
Another approach is to put text in front of the fax number, such as "W: " for a work fax or just "Fax:"; this causes the number to disappear from the Outlook Address Book, but keeps it easy to see the number in the contact record or Contacts folder. The tools listed below add a prefix automatically and remove it when you need to dial the number.
Macro to prefix Fax numbers
You can run the following macro to refix fax numbers with Fax: so they won’t show in the address book.
Replace BusinessFaxNumber with HomeFaxNumber or OtherFaxNumber if you need to hide other fax numbers.
Removing the Fax prefix from numbers requires more complicated VBA code to strip only the prefix and is more prone to error. Because of this we recommend using an addin that can toggle the prefix off and on.
Public Sub HideFaxNumbers() Dim objOL As Outlook.Application Dim objNS As Outlook.NameSpace Dim objContact As Outlook.ContactItem Dim objItems As Outlook.Items Dim objContactsFolder As Outlook.MAPIFolder Dim obj As Object Dim olfax As String On Error Resume Next Set objOL = CreateObject("Outlook.Application") Set objNS = objOL.GetNamespace("MAPI") Set objContactsFolder = objNS.GetDefaultFolder(olFolderContacts) Set objItems = objContactsFolder.Items For Each obj In objItems 'Test for contact and not distribution list If obj.Class = olContact Then Set objContact = obj With objContact If .BusinessFaxNumber <> "" Then olfax = .BusinessFaxNumber .BusinessFaxNumber = "Fax: " & olfax End If .Save End With End If Err.Clear Next Set objOL = Nothing Set objNS = Nothing Set obj = Nothing Set objContact = Nothing Set objItems = Nothing Set objContactsFolder = Nothing End Sub
Remove Fax: Prefix
To remove Fax: from the Fax number, replace the If block with this.
If InStr(.BusinessFaxNumber, "Fax: ") Then .BusinessFaxNumber = Replace(.BusinessFaxNumber, "Fax: ", "") End If .Save
If you have duplicate fax prefixes (caused by running the macro more than once), or to prevent duplicates when you update contacts, use this to remove and replace the prefix:
If InStr(.BusinessFaxNumber, "Fax: ") Then .BusinessFaxNumber = Replace(.BusinessFaxNumber, "Fax: ", "") End If .Save If .BusinessFaxNumber <> "" Then olfax = .BusinessFaxNumber .BusinessFaxNumber = "Fax: " & olfax End If .Save
How to use the HideFaxNumbers Macro Tutorial
Changes all fax numbers for a contact to have "Fax:" (or other text) before the number. This prevents Outlook from recognizing it as a valid address, so you won't see it in the Outlook Address Book. You can strip the prefix text at any time, for one contact or all of them at once, on demand or as numbers are added. Works on multiple Outlook folders for nested contact folders. Enter code WD9BHK53 during checkout.
How to use macros
First: You will need macro security set to low during testing.
To check your macro security in Outlook 2010 or 2013, go to File, Options, Trust Center and open Trust Center Settings, and change the Macro Settings. In Outlook 2007 and older, it’s at Tools, Macro Security.
After you test the macro and see that it works, you can either leave macro security set to low or sign the macro.
Open the VBA Editor by pressing Alt+F11 on your keyboard.
To put the code in a module:
- Right click on Project1 and choose Insert > Module
- Copy and paste the macro into the new module.
More information as well as screenshots are at How to use the VBA Editor
Discuss in our community