CLOSED: [2016-01-21 Thu 16:12] SCHEDULED: <2016-01-21 Thu> :PROPERTIES: :CREATED: [2016-01-21 Thu 13:10] :ID: 2016-01-21-keeping-unaccepted-outlook-appointments :END: :LOGBOOK: - State "DONE" from "NEXT" [2016-01-21 Thu 16:12] :END: If you're using Microsoft Outlook, you might have had this issue as well: you get an invitation to an appointment more or less "FYI" which you don't want to join. However, you want to have it on your calendar because you need to know, what your colleagues are doing or similar. The problem you've got is that you can't accept the appointment since you're not planning to go there. Accepting means that others assume to meet you there. You also can't decline the appointment because this would remove it from your calendar. Accepting tentative is the solution which most people use in this case. Unfortunately, others might still think that you'll join them. Further more, if someone wants to schedule another meeting with you, he/she does not find the free slot in the meeting assistant. So what to do about it then? ******* Workaround: Manually Archive and Mark As Free Some people do just move the invitation to their archive folder without declining, accepting, or accepting tentatively. This way, others don't see that you are available for this time slot. To overcome this drawback, people are manually marking those appointments as "free": selecting the appointment, activating its context menu, and choosing ~Show As > Free~. For each appointment, you have to do two manual steps: 1. (optionally) moving the appointment from your inbox to your archive folder 2. switch to calendar view and mark each appointment as "free" ******* DIY-Solution: Mark as Free and Move to Archive via Macro As a lazy person, I tend to automate things I do multiple times. Therefore, [[https://www.reddit.com/r/vba/comments/40ye48/outlook_set_marked_appointments_to_busystatus0/][asked for help]] since I don't know [[https://en.wikipedia.org/wiki/Visual_Basic_for_Applications][VBA]]. The resulting solution is a VBA macro which I invoke via Quick Access Toolbar. ******** Outlook 2013 ********* Setting Up First, you have to press ~Alt-F11~ in Outlook to open the VBA window. Then you paste the following lines into the window titled "VbaProject.OTM Module1": #+BEGIN_SRC Sub SetMeetingFree() Dim Item As Object 'MeetingItem Dim apt As AppointmentItem ' delete the next two lines if you don't want to move the email(s): Dim archivefolder As Folder Set archivefolder = Session.GetDefaultFolder(olFolderInbox).Parent.Folders.Item("Done").Folders.Item("2016") For Each Item In Application.ActiveExplorer.Selection If Item.Class = olMeetingRequest Then Set apt = Item.GetAssociatedAppointment(True) apt.BusyStatus = olFree apt.ReminderSet = False apt.Save ' delete the next line if you don't want to move the email(s): Item.Move archivefolder ElseIf Item.Class = olAppointment Then Set apt = Item apt.BusyStatus = olFree apt.ReminderSet = False apt.Save End If Next End Sub #+END_SRC Please adapt the "Set archivefolder" line to meet your situation (path). Mine is ~\\...\Done\2016~. Notice the ~apt.ReminderSet = False~ line which removes any reminder notification from the appointment. With ~Ctrl-S~ you are going to save the macro. The Quick Access Toolbar is located on the upper left corner of Outlook 2013: #+BEGIN_EXPORT HTML #+END_EXPORT To add a new icon to the Quick Access Toolbar, go to the context menu of, e.g., the existing "undo" icon (of the Quick Access Toolbar) and select "Customize Quick Access Toolbar...". In the dialog window which pops up, switch the "Choose commands from:"-dropdown to "Macros" and select your "Procejt1.SetMeetingFree" macro. With the "Add > >"-Button you can add it to the list of icons of the right hand side. When you select it on the right hand side and choose "Modify..." you can change the display name and its icon to an appealing one. Acknowledge with "OK" and now you should see your icon in the Quick Access Toolbar. Unfortunately, I could not find a way to map the macro to a keyboard shortcut. If you know how to do this, please drop me a line (below). ********* Using With the new icon in the Quick Access Toolbar, you have two new features. Firstly, you can select one or more (yet unanswered) invitation emails in your inbox and click the button. This marks all corresponding appointments as "free" and moves the emails to your archive folder. Done. The other functionality is quite handy for your existing appointments: select one or more appointments on your calendar, press the button, and thus mark the appointments as "free". ******* Other Outlook Versions :PROPERTIES: :END: If you happen to use [[https://twitter.com/n0v0id/status/690180473486729217][a different version of Outlook]] where the set-up process differs from the one above, please drop me a line (comment below or email below) and I'll gladly add it here for future reference.