Property inside a class module can be called by preceding the call with an object reference:
DateRange class, a
Sub could be used to add a number of days to the end date:
Public Sub AddDays(ByVal NoDays As Integer) mEndDate = mEndDate + NoDays End Sub
Function could return the last day of the next month-end (note that
GetFirstDayOfMonth would not be visible outside the class because it is private):
Public Function GetNextMonthEndDate() As Date GetNextMonthEndDate = DateAdd("m", 1, GetFirstDayOfMonth()) End Function Private Function GetFirstDayOfMonth() As Date GetFirstDayOfMonth = DateAdd("d", -DatePart("d", mEndDate), mEndDate) End Function
Procedures can accept arguments of any type, including references to objects of the class being defined.
The following example tests whether the current
DateRange object has a starting date and ending date that includes the starting and ending date of another
Public Function ContainsRange(ByRef TheRange As DateRange) As Boolean ContainsRange = TheRange.StartDate >= Me.StartDate And TheRange.EndDate <= Me.EndDate End Function
Note the use of the
Me notation as a way to access the value of the object running the code.