Software Venture Consulting

FileMaker Pro downloads & Resources
FileMaker Custom Functions
FileMaker Web Viewer Examples
FileMaker Pro & Lasso Consulting
FileMaker Books
FileMaker Articles
FileMaker Error Reference

Free Web Tools
Free FileMaker Tools

Personal Pages

Shopping Cart
Shopping Cart


Free Newsletter


Privacy Policy

FileMaker is a registered trademark of FileMaker, Inc. in the U.S. and other countries.


 FileMaker Pro Custom Functions

List  |  Show Random  |  Upload  |  Add This to Your Site

Calendar ( date_field ; option ; iteration ; x_start_on_monday ; x_highlight_weekends ; holiday_list )

Rate this function:  

  Average rating: 4.0  (45 votes)
  Discuss this Custom Function

Drew Wesley, Drewsol

c. 2009-2014 Drewsol. This CF consolidates a simple calendar display and selection tool complete with limitless iterations, highlights, holidays, and tooltips.

Sample Input:
Calendar ( "6/1/2012" ; "calendar" ; 3 ; "" ; "" ; "" )

Calendar ( "5/28/2012" ; "calendar_highlights" ; "" ; 1 ; 1 ; "included" )

Calendar ( "5/5/2012" ; "tooltip_long" ; 1 ; "" ; "" ; "included" )
Sample Output:
(Shows month of August 2012 in 42 repeating fields. Days outside of August are grayed.)

(Shows 42 repeating fields that highlight the weekend and function-included holidays.)

(Shows tooltip upon mouseover:)
Tuesday, May 5, 2012
Cinco de Mayo

 Then copy & paste into FileMaker Advanced's Edit Custom Function window.

Click here to copy To Clip Manager if you have myFMbutler's Clip Manager installed


c. 2009-2012 Drewsol. This CF consolidates a simple calendar display and selection tool complete with limitless iterations, highlights, holidays, and tooltips.

Detailed instructions and a sample script are included in the CF's header.

v2.2 - Example file included posted at , removed trademark, renamed from fnCalendar to Calendar.
v2.1 - Added week of year labels.
v2.0 - Added parameter to optionally start calendar on Monday instead of Sunday.
v1.6 - Added provision for 'globally stored' calendar (no redraw upon layout access), cleaner instructions/commenting. Included lite version (same calculation minus documentation and integrated holiday list).
v1.5 - Added instructions for a single-layer conditional formatting method.
v1.4 - LGPL license added.
v1.3 - Integrated holiday list and calendar highlights transferred from 'condition' to 'statement block' to limit unnecessary code execution.
v1.2 - Optimized for performance. Support for unlimited iterations and previous months. Integrated American holiday list.
v1.1 - Support for three calendar display iterations, holidays, weekends, instructions.
v1.0 - Basic function, field independence, tooltips.

Note: these functions are not guaranteed or supported by Please contact the individual developer with any questions or problems.

This is my Custom Function and I want to edit it


5 most recent comments | Show all 9 comments

Doesn't work; all but first cell empty.
1.5 worked OK.

Bruce Robertson, Redmond WA
February 05, 2010 11:52am

If you're using the global calculation option, you'll need (1) to use the date as a trigger field and (2) the Extend function as noted in Step 3a in the documentation:
Let (
trigger = CAL::Date_G ;
fnCalendar ( Extend ( <date field> ) ; "calendar" ; 1 ; "" ; "" )

Andrew Butt, Los Angeles, CA
February 06, 2010 10:17am

You could also use the following in Step 6:
<iteration> & " " & Get(CalculationRepetitionNumber)

Andrew, Sydney AU
August 09, 2014 4:47pm

Sorry It should have worked but it didn't

Andrew, Sydney AU
August 09, 2014 5:00pm

I just uploaded an example file at

Drew Wesley, Los Angeles, CA
August 11, 2014 11:12am

Make a comment about this Custom Function (please try to keep it brief & to the point). Anyone can post:

Your Name:
characters left. If you paste in more than 1500 characters, it will be truncated. Discuss the function - advertisements and other useless posts will be deleted.
Answer 4 + 5 =
Search for Custom Functions:

Custom Functions Widget
Download the Custom Function Dashboard Widget for OS X
Keep all the latest Custom Functions right at your fingertips!

Newest Custom Functions:

1. NumberToHexadecimal(NumberValue)
  (Fri, Dec 08, 8:54am)
2. Get_BaseTable
  (Thu, Dec 07, 4:27pm)
3. JSONCreateVarsFromKeys ( json ; namespace )
  (Wed, Dec 06, 8:21pm)
4. GetTableNzme ( field )
  (Tue, Dec 05, 9:16pm)
5. TimeFormatAsText ( theTime )
  (Mon, Nov 13, 1:59pm)
6. ParseWebValueList( text )
  (Thu, Nov 02, 9:52am)
7. SVG_HTML_to_Text ( _svg_text ; _orig_text ;
  (Wed, Oct 25, 4:17am)
8. decFromHex ( hexValue )
  (Mon, Oct 16, 12:34pm)

RSS Feed of Custom Functions