Adding Outlook's predefined Holidays to the calendar is a very simple process:
In Outlook 2007 and older, go to Tools > Options > Preference tab > Calendar Options and click the Add Holidays button. Select the desired Holidays and click OK.
It can take a few minutes to add all the holidays, depending on how many countries you are adding.
While major religious holidays are listed with the holidays for some countries, there are separate listings for Christian, Islamic, and Jewish religious holidays.
You will you receive the following message if you previously added the holidays for a specific country. However, if you are upgrading Outlook or using an updated HOL file, it may be detecting older holidays. If you choose Yes and discover your holidays are duplicated, you can delete all of the Holidays and re-run the Add Holidays wizard.
Holidays for [location] are already installed. Do you want to install them again?
See How to Remove Duplicate Holidays From the Calendar for complete instructions.
Create a Custom Holiday File
Because of tighter security in current versions of Windows, it's generally easier to create a new HOL file. This has one advantage: you only need to double click on the file to open the Add Holidays dialog. You do not have to go to Options > Calendar > Add Holidays to add the holidays to your calendar.
The Outlook.HOL file lists holidays in the following format, one date per line:
Holiday description, yyyy/mm/dd
Holiday description, yyyy/mm/dd
The ### is the total number of holidays listed for the location (or country). Note that there is a space between the bracket and the number. On each holiday line, there is a comma and space between the holiday description (subject) and the date. For example:
[United States] 3
Independence Day, 2012/07/04
Thanksgiving Day, 2012/11/27
Christmas Day, 2012/12/25
To create a custom set of holidays, you can create your own HOL file in notepad by following these steps. Tip: you can work with the dates in Excel, then copy and paste into Notepad to save as an HOL file.
- Open Notepad
- Enter a "county" header, in [country] format. For example, I might use [Slipstick Systems]
- On separate lines under the header, enter the events, one per line in
Event subject, yyyy/mm/dd format.
- Save the file using the HOL extension.
- Double click on the file. If Outlook is not on top of the screen, switch to it.
- Select the location and click Add.
A version of the US-only holidays, split between Federal holidays and popular observances is available at Outlook Tips. Right click and save the file to your hard drive then double click to add them to Outlook's Calendar. If you previously added the US holidays, you'll have duplicates. Remove the duplicates by deleting the holidays in the United States location.
UK bank holidays has an *.ics file available for download. This will work with Outlook 2003 and newer, as well as with most other calendaring applications and services.
The Israel and Jewish holidays are in the HOL file using Hebrew calendar dates (i.e. Yom Haatzmaut,5773/8/6,8) and Outlook 2003 is not able to import them. Israel-2013-2020 is a Gregorian date version for Outlook 2002 and Outlook 2003. Jewish ICS for importing into Outlook.com
You can use a script to import holidays into your calendar. Save this script as a .vbs file and call it from a logon script. (If you want users to double click on a file to run, use the .HOL method instead.)
Const olFolderCalendar = 9 Const olAppointmentItem = 1 Const olOutOfOffice = 3 CRLF = chr(13)&chr(10) 'Wscript.echo "Importing 2017 Company Holidays."+ CRLF + CRLF + "Press OK to Continue." Set objOutlook = CreateObject("Outlook.Application") Set objNamespace = objOutlook.GetNamespace("MAPI") Set objCalendar = objNamespace.GetDefaultFolder(olFolderCalendar) Set objDictionary = CreateObject("Scripting.Dictionary") objDictionary.Add "August 1, 2017", "Company Holiday - Holiday Name" objDictionary.Add "August 21, 2017", "Company Holiday - Holiday Name" objDictionary.Add "August 18, 2017", "Company Holiday - Holiday Name" objDictionary.Add "August 26, 2017", "Company Holiday - Holiday Name" objDictionary.Add "September 1, 2017", "Company Holiday - Holiday Name" objDictionary.Add "November 11, 2017", "Company Holiday - Veterans' Day" objDictionary.Add "November 27, 2017", "Company Holiday - Thanksgiving Day" objDictionary.Add "November 28, 2017", "Company Holiday - Friday After Thanksgiving" objDictionary.Add "December 25, 2017", "Company Holiday - Christmas Day" objDictionary.Add "December 26, 2017", "Company Holiday - Day after Christmas" colKeys = objDictionary.Keys For Each strKey in colKeys dtmHolidayDate = strKey strHolidayName = objDictionary.Item(strKey) Set objHoliday = objOutlook.CreateItem(olAppointmentItem) With objHoliday .Subject = strHolidayName .Start = dtmHolidayDate .End = dtmHolidayDate .Categories = "Company Holidays" .AllDayEvent = True .ReminderSet = False .BusyStatus = olOutOfOffice .Save End With Next Set objOutlook = Nothing Wscript.echo "Completed Importing 2017 Company Holidays."+ CRLF + CRLF + "Press OK to End." Wscript.quit
When the Holiday file is wrong
The question a lot of people ask:
Why does Outlook put some Holidays on the wrong date?
I don't recall any version of Outlook shipping with a perfect Holiday file.
The problem is in the Outlook.HOL file used to import holidays - the author (or authors) get some dates wrong. While we expect perfection from them, to be fair, with hundreds of locations and thousands of dates in the HOL file, its easy to make mistakes. (There are more than 21,000 holidays in Outlook 2010's HOL file.) However, it shouldn't be that hard to get common holidays, like the Monday after Easter right (that is one of the big mistakes in Outlook 2010's HOL file.)
You can either move the events to the correct date, edit this file yourself, or download an updated version. You can even create your own HOL file.
A link to an updated Holiday file containing dates through 2028 is available at Missing Holidays. For Outlook 2002 and up. Note, this is the same file that is included with Outlook 2010 but contains the correct dates for Easter Monday.
Move Events Manually
To fix a holiday that's already in your Calendar folder on the wrong date, just drag the item to the correct date.
Fix a Holiday File
Outlook stores a read-only text file called Outlook.HOL in the installation directory for your version and language of Office (ie, C:\Program Files\Microsoft Office\Office14\1033), which it uses for the Options > Calendar Options > Add Holidays feature.
You can open the HOL file in notepad and edit it.
- Start Windows Explorer, locate the Outlook.HOL file. (You may want to make a backup copy.)
- Right-click on Outlook.HOL and choose Open with then select Notepad from the list.
- To edit a specific country's dates, use Find to locate the Country by name and edit the dates.
- To add a new location, press CTRL+END to position the insertion point at the end of the file.
- Type a new country header and custom holidays using the format described below.
- Save and close Outlook.HOL. Note: Due to security features in newer versions of Windows, you will need to give your Windows account permissions to write to the Office\xxxx folder.
Fun with Holiday files: Countdown the days in a year
You can use a custom HOL file for any all day events you desire. In this example, we are going to add all day events to the calendar to countdown the days in a year, from 1 to 365 and include the number of days left in the year.
Do you need to know what day of the year today is or how many days are left until the end of the year? Although Outlook doesn't display these numbers, it's very easy to create a file counting the days using Excel and import it into your calendar.
The original suggestion came from "Alawishes". He suggested using a CSV containing the Subject, Date, and a Category then importing it.
Create a file with the Subject, Date, and a Category using Excel's fill series feature then save it as a CSV to Import into Outlook's Calendar. While a category is not required, it makes it easy to filter the events. Using this method, you can import the events to any calendar.
While his suggestion is a great idea and has certain advantages: you can choose your own category or import it into a different calendar folder, you could create a HOL file and save the Import step. In the CSV, use only the Subject and Date fields then save it and change the extension to HOL. Open the HOL in Notepad and change the line above the dates to a "location" and the number of items in the "location" group, in [location] 366 format. (The location name can be anything you like. )
Users can double click on the HOL to open the Add Holidays dialog and add the dates to the default calendar. When you use this method the events will be added to the Holiday category.
To delete these Holidays, group, sort, or filter by Location field and delete the items for your location.
We have sample HOL files at:
DayNumbers 2019 DayNumbers 2020
Note: You may need to right click on the link and use Save Target As (or Save Link As). Double click on the HOL file to open it in the Add Calendar wizard.
To remove duplicate holidays from the Calendar folder
US-only holidays, split between Federal holidays and popular observances is available here.
UK bank holidays