In general, when you implement a control, you get to implement some event routines for that control. Such as, for example, a CLICK event. In the OnClick routine, you could check on what was selected and if unacceptable, you could display a message box and refuse to pass focus to another control.
As to selecting a day, week, month, or year, forget about it. This is a matter of interpretation, not selection. If you want someone to select a week, you would make them select a day that is in the week you want, then use your OnClick routine to decide whether the selection makes sense.
Perhaps you could combine a calendar control with a radio button group to select day, week, fortnight, month, quarter, or year. Then select any date within the period. Then use DatePart to decide what you really wanted.
For instance, if you select a week, DatePart would tell you whether the user selected a Monday or not. You could then either adjust backwards to the Monday or reject the selection. Ditto for month, quarter, or year.
Whether you allow the selection is your call.