Calendar object
The ExCalendar Library contains two ActiveX controls, simple version and drop-down version that allow you to select a date with a nice GUI. You can select the date between 1/1/100 and 12/31/9999. Both versions support images, colors, font attributes, tooltips for any date.

Features include:

The Calendar object supports the following properties and methods:

 NameDescription 
  AppearanceRetrieves or sets the control's appearance 
  AppearanceDayRetrieves or sets a value that determines the day's appearance. 
  AutoSizeRetrieves or sets a value that indicates whether the control automatically resizes the cell based on the size of the font. 
  BackColorRetrieves or sets the control's background color. 
  BackgroundReturns or sets a value that indicates the background color for parts in the control. 
  BorderLineColorRetrieves or sets a value that indicates the border line color. 
  DateRetrieves or sets the browsed date. Ensures that the date is visible. 
  DateFromPointRetrieves the date from point. 
  DoDateComposes a DATE type, based on year, month and day. 
  DrawBorderLineRetrieves or sets a value that indicates the border line style. 
  DrawGridLineRetrieves or sets a value that identifies the type of grid lines. 
  EnabledRetrieves or sets a value that indicates whether the control is enabled ot disabled. 
  EventsRetrieves the control date events collection. 
  FirstDayRetrieves or sets a value that indicates the first day of the week. 
  FixedCellHeightRetrieves or sets a value that indicates the cell's height while the AutoSize is false. 
  FixedCellWidthRetrieves or sets a value that indicates the cell's width while the AutoSize is false. 
  FocusDateRetrieves or sets the focused date 
  FontRetrieves or sets the control's font. 
  ForeColorRetrieves or sets the control's foreground color. 
  GridLineColorRetrieves or sets a value that indicates the grid lines color. 
  HeaderBackColorRetrieves or sets a value that indicates the background color used for weeks and week days headers. 
  HeaderForeColorRetrieves or sets a value that indicates the foreground color used for weeks and week days headers. 
  HideSelectionSpecifies whether selected date appears selected when a control loses focus. 
  ImagesSets the control's handle image list. 
  IntegralHeightRetrieves the height of the control to fit the MaxMonthY months in the client area. 
  IntegralWidthRetrieves the width of the control to fit the MaxMonthX months in the client area. 
  LockedSpecifies whether the user can change the selection. 
  MarkTodayRetrieves or sets a value that indicates whether the control marks the today date. 
  MaxMonthXSpecifies the maximum number of months horizontally displayed. 
  MaxMonthYSpecifies the maximum number of months vertically displayed. 
  MaxScrollYearSpecifies the maximum year when scrolling. 
  MinMonthXSpecifies the minimum number of months horizontally displayed. 
  MinMonthYSpecifies the minimum number of months vertically displayed. 
  MinScrollYearSpecifies the minimum year when scrolling. 
  MonthNamesRetrieves or sets a value that indicates the list of month names, separated by space. 
  NonworkingDaysRetrieves or sets a value that indicates the non-working days, for each week day a bit. 
  NonworkingDaysColorRetrieves or sets a value that indicates the color to fill the non-working days. 
  NonworkingDaysPatternRetrieves or sets a value that indicates the pattern being used to fill non-working days. 
  SelBackColorRetrieves or sets a value that indicates the selection background color. 
  SelCountRetrieves the count of selected dates. 
  SelDateSelects a date while SingleSel is true. 
  SelectDateRetrieves the selected date, given its index into selected dates collection. Use SelCount in order to get the count of selected dates. 
  SelForeColorRetrieves or sets a value that indicates the selection foreground color. 
  ShowDaysRetrieves or sets a value that indicates whether the week days header is visible or hidden. 
  ShowImageListSpecifies whether the control's image list window is visible or hidden. 
  ShowMonthRetrieves or sets a value that indicates whether the month header is visible or hidden. 
  ShowMonthSelectorRetrieves or sets a value that indicates whether the user is able to select a new month by clicking in the month header. 
  ShowNonMonthDaysSpecifies whether the control displays the dates that are not part of the month. 
  ShowTodayButtonRetrieves or sets a value that indicates whether the today button is visible or hidden. 
  ShowWeeksRetrieves or sets a value that indicates whether the weeks header is visible or hidden. 
  ShowYearScrollRetrieves or sets a value that indicates whether the scroll bar for changing the year is visible or hidden. 
  ShowYearSelectorRetrieves or sets a value that indicates whether the year selector is visible or hidden. 
  SingleSelRetrieves or sets a value that indicates whether the control supports single or multiple selection. 
  TemplateSpecifies the control's template. 
  TodayCaptionRetrieves or sets a value that indicates the today button's caption. 
  ToolTipDelaySpecifies the time in ms that passes before the ToolTip appears. 
  ToolTipPopDelaySpecifies the period in ms of time the ToolTip remains visible if the mouse pointer is stationary within a control. 
  ToolTipWidthSpecifies a value that indicates the width of the tooltip window, in pixels. 
  UnSelDateUnselects the date. 
  ValueSpecifies the selected date. 
  VersionRetrieves the control's version. 
  VisualAppearanceRetrieves the control's appearance. 
  WeekDaysRetrieves or sets a value that indicates the list of short names for each week day, separated by space.