Copy: is prefixed to the Subject of a Meeting

Last reviewed on February 19, 2014   —  37 comments

Appointment with copy prefixBeginning with Outlook 2007 SP2, 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.

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

Solutions

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

  1. 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.
  2. If you are using Exchange server, use Outlook 2003 to export the calendar.
  3. Create a new pst. 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 2010. (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 fixed.

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

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

Use the Macro dialog to run macros at any time.

Written by

Diane Poremsky
A Microsoft Outlook Most Valuable Professional (MVP) since 1999, Diane is the author of several books, including Outlook 2013 Absolute Beginners Book. She also created video training CDs and online training classes for Microsoft Outlook. You can find her helping people online in Outlook Forums as well as in the Microsoft Answers and TechNet forums.

Please post long or more complicated questions at Outlookforums.

37 responses to “Copy: is prefixed to the Subject of a Meeting”

  1. Phill

    I came across this article and used the script after doing a migration of users from pop mail to Office 365. I thought it was a great saviour, however I've realized that all these calendar items that had "Copy: " prefix added are actually broken. Imported items can't be updated and the only recommended solution I've found is that the meeting organizer has to recreate the meeting. This isn't an option in our environment as users have meetings (lots of them) many many months in advance. Does anyone have any suggestions on how to actually fix these items and not just address the superficial subject text?

    Thanks.

    Phill

  2. Ed George

    Any luck finding a real fix Phill?

  3. Gino Tomasetti

    Excellent! Exactly what I was looking for and easy to follow. Thanks so much.

  4. Adrian

    There is an easier way of doing this!!

    1. Create a calendar on ShareP
    2. Open Outlook and change the view of the calendar you want to move to ShareP to list. This will list all the items in the calendar
    3. in ShareP connect the created calendar to outlook.
    4. Select all the Items in the calender list view that you want to move to ShareP
    5. Right click choose "move" and then select the ShareP calender that you've just connected to Outlook.

    Then all you need to do is set permissions on the calendar on ShareP.

    Thats all!

  5. Gilad

    I followed your instructions and it worked. Thanks.
    Only one question - when I perform a search on the events. When I search for "copy" all the events still show up (although they don't have "copy" in the subject line anymore).
    ???

  6. Gilad

    Thanks.

    So what you are saying is that when I change the subject of any Outlook item (assuming Tasks, Events, Messages all work the same) I may get a wrong result if the subject of the item has ever been changed?
    Strange behavior.

  7. Gilad

    Thanks

  8. Stacey

    This was just what I was looking for! Thank you!

  9. Franco

    Awesome. I ran the VBA and it worked perfectly!! Thanks.

  10. Seth

    Diane, THANK YOU for posting this script - I had some 900+ entries moved from my old calendar to new one with that irritating "Copy: " title, and the VBA script worked perfectly to fix them.

  11. Robert

    Can the VBS Script be directed to work on additional Calendars? User added Calendars

  12. pdalton@swbell.net

    I ran this and it worked. I then again tried to sync Outlook 2010 with iCloud and ended up with all the messages in the iCloud calendar marked with the "Copy:" prefix and none in my regular calendar. So I tried to run it again, this time on the iCloud calendar, and it won't run -- it says "The macros in this project are disabled" and goes on to say I should look in the documentation to find out how to enable macros.

    Unfortunately, I have not been able to find anything that tells me how to enable the macros. I did find a 2007 post that said "In Outlook (not VBA editor), please click on Tools/Macros/Security and set the security to allow VBA. Then restart Outlook." However, I suspect those instructions must have been for an earlier version of Outlook, because I don't have a "Tools" tab in Outlook 2010.

    When I go to the Trust Center/Trust Center Settings/Macro Settings, I don't find an option about allowing VBA.

    What can I do to get this VBA code to run again?

  13. pdalton@swbell.net

    P.S. If it makes any difference, the VBA Editor appears to be stuck in "Design Mode" and, when I click on the "Exit Design Mode" icon, I get that same "The macros in this project are disabled" dialog.

  14. pdalton@swbell.net

    I guess you're right. I got into it by using Alt-F11, but it does say at the top "Microsoft Visual Basic for Applications - VbaProject.OTM (design)".

    The "Exit Design Mode" icon is highlighted, but when I click on it, I get the dialog I mentioned earlier.

    How do I get to where I need to be?

  15. Vamsi

    Thanks Diane.......... can you share online webinars to me and the users
    Thanks once again for your help

  16. Willem T

    after enabling macro's in trust center, the vba script worked as expected. took a few minutes but I don't have that many appointments. For someone with a full schedule I would not be surprised if this took half an hour or more

  17. Lance Secretan

    Great help - many thanks.

  18. Marc

    The easiest way to do this is as follows:

    Open up your calendars (both the default and the one you want to move appoitnments from
    view>current view>by category
    select all calendar items you want to move
    right click
    select "move to folder"
    select your default calendar.
    you're done. process takes 30 seconds.

  19. ed

    Thank you so much. This is well explained solution - rather than mere advice not to use the export-import functionality as in other posts. My hats off to you!!!

  20. Eli

    I attempted running this and I get a syntax error at the very first line. I attempted this for Outlook 2013. Is it safe to assume this may not work with 2013 Office products?

  21. robbo007

    This does not seem to work on a Spanish language Outlook 2007. If searches but finds nothing. I've change the search keyword from "copy:" to "copiar" but still does not change anything? Any ideas?

  22. Sam G

    We have a client database that we book appointments into which sends an automated email to Outlook. I've modified the above the code to a degree but we just want to be able to remove everything except the last 8 characters of the appointment subject but the appointment subject could be any length of characters long so using the above script doesn't work perfectly in this situation because it counts from the start on the string.

    Is there anyway to do this (delete everything except the last 8 characters of the string)?

  23. Rene Dirks

    Worked great for me - at least to have the info about 2003. Two remarks about the code though:
    strTemp = Mid(aItem.Subject, 7, Len(aItem.Subject) - 6)
    The Mid() function defaults to use the entire string, so
    strTemp = Mid(aItem.Subject, 7) achieves the same and saves quite a bit of calculation time

    aItem.Save : why save each item if nothing was changed? This costs extra time and could affect update times (if any available). Better to put this inside the if/endif clause

  24. therealmattslay

    Worked great for me on Outlook 2013 on Windows 8.1

Leave a Reply

If the Post Coment button disappears, press your Tab key.