Manager's Name does not print, memo style, even though it is in .

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I am trying to print an entry from my Contacts folder but the Manager's Name
field does not print even though it is in the current view. I have set the
page setup to memo style.
 
Of all the personal information you can enter on the General and Details
tabs of an Outlook contact, I wonder why the Manager's Name is the only
field that doesn't print out. This problem goes at least back to Outlook
2000. There are two ways to work around it, one with a customized view, the
other with a little Outlook VBA code.

For the view method, create a new address card view or modify an existing
address card view, such as Address Cards or Detailed Address Cards, to add
the Manager's Name field to the view. Once you see the manager's name in the
view, along with the other fields you want to print, select the contact you
want to print, and then choose File, Print. On the Print dialog, under
"Print style," choose Card Style. Under "Print range," choose "Only selected
items." Then click OK. The one contact you've selected will print in the
card style, and the printout will include all the fields shown in the view.

The main drawback of the view method is that it requires you to customize a
view and to print from the Contacts folder. It doesn't help if you have
opened a contact in its own window and want to print it.

The VBA method works both in both situations - if you are looking at a
contacts folder or if you have the contact open in its window. It takes
advantage of the fact that Outlook always includes in the printout any
custom property added to the item that contain data. Here is a macro that
adds a custom property to hold the manager's name, copies the name to that
property, and then prints the item.

Sub PrintContactWithManager()
Dim objItem As Object
Dim objProp As Outlook.UserProperty
On Error Resume Next

Set objItem = GetCurrentItem()
If objItem.Class = olContact Then
Set objProp = objItem.UserProperties("Manager Name")
If objProp Is Nothing Then
Set objProp = objItem.UserProperties.Add("Manager Name", olText,
True)
End If
objProp.Value = objItem.ManagerName
objItem.PrintOut
End If

Set objItem = Nothing
Set objProp = Nothing
End Sub

Function GetCurrentItem() As Object
Dim objApp As Outlook.Application
Set objApp = CreateObject("Outlook.Application")
On Error Resume Next
Select Case TypeName(objApp.ActiveWindow)
Case "Explorer"
Set GetCurrentItem = objApp.ActiveExplorer.Selection.Item(1)
Case "Inspector"
Set GetCurrentItem = objApp.ActiveInspector.CurrentItem
End Select
Set objApp = Nothing
End Function
 
Back
Top