Copy: is prefixed to the Subject of a Meeting


To totally unlock this section you need to Log-in


Login

Beginning with Outlook 2007 SP2, the text string Copy: is prefixed to the subject of meetings when they are copied within a calendar or to another calendar.

From the release notes:

"A meeting that is copied from a shared calendar does not indicate that it is a copy. SP2 adds "Copy:" to the subject line."

Copy: was added so users would know how the meeting ended up on the calendar and why it wasn't updating. There is no way to avoid it in Outlook 2007 SP2 or Outlook 2010, except by not copying the meetings.

Note that even though the release notes say "copied from a shared calendar", it applies to all copied meetings. Any time you make a copy of a meeting by copying it to a new date, copying it to a second calendar in your mailbox, or export it to a .pst, Copy: is added to the subject.

Solution

You can edit the subject line or use VBA to remove it.

The Infobar on meeting will say if the meeting was copied. Copy: won't be added back to the subject if you copy it again. The appointment's infobar tells you it was copied from another calendar.

The following methods did not add the Copy: prefix to subject lines in my tests:

If you are using a pst, copy the pst file then move the meetings from the pst copy to the second Outlook. Moving the meetings will preserve their ability to accept or send updates.

If you are using Exchange server, use Outlook 2003 to export the calendar.

Create a new .pst file. Right click on the calendar and choose Copy. Select the new pst as the destination. Outlook will copy the items then complain it can't copy the folder. Open the pst in the second Outlook and move the calendar items.

Use VBA to remove Copy:

Below is a VBA script you can use to cycle through every appointment item in the selected calendar and remove the Copy: prefix.

Works in Outlook 2007 and Outlook 2010. It also works in older versions, if you need to mass-edit the subject line.

Sub RemoveCopy()

Dim myolApp As Outlook.Application
Dim calendar As MAPIFolder
Dim aItem As Object

Set myolApp = CreateObject("Outlook.Application")
Set calendar = myolApp.ActiveExplorer.CurrentFolder
Dim iItemsUpdated As Integer
Dim strTemp As String

iItemsUpdated = 0
For Each aItem In calendar.Items
If Mid(aItem.Subject, 1, 6) = "Copy: " Then
strTemp = Mid(aItem.Subject, 7, Len(aItem.Subject) - 6)
aItem.Subject = strTemp
iItemsUpdated = iItemsUpdated + 1
End If
aItem.Save
Next aItem

MsgBox iItemsUpdated & " of " & calendar.Items.Count & " Meetings Updated"

End Sub

How to use VBA

Select the calendar that needs to be fixed.

Copy: is prefixed to the Subject of a Meeting

Copy: is prefixed to the Subject of a Meeting

  • Paste the code into the VBA (Visual Basic for Application) editor.
  • Press Alt+F11 to open the VBA editor. (or Tools, Macro, Visual Basic Editor)
  • Expand Project1 then double click on ThisOutlookSession to open the code window.
  • Copy the code above (click in the text, Ctrl+A to select all, Ctrl+C to copy)
  • Paste it into the code window then Save.
  • Press the Run button.

To run the code later, press Alt+F8 (or Tools, Macro, Macros), select the RemoveCopy macro and press Run.

Copy: is prefixed to the Subject of a Meeting

Copy: is prefixed to the Subject of a Meeting