How do I setup multiple automatic dates in a form field?

J

J. Lumsden

I'm attempting to setup automatic dates in a form field for a time sheet I'm
working on. These are submitted on Fridays, so I can auto date the Friday,
but I would like to be able to work backwards to auto date Mon-Thurs. How can
this be done?

Thanks,
J Lumsden
 
D

Dave Lett

Here's version of what I use:

Public Sub Main()
Dim sPath As String
Dim oDocCurWeek As Document
sPath = "H:\Weekly Reports\"
Set oDocCurWeek = ActiveDocument
With oDocCurWeek
.SaveAs FileName:=sPath & "Weekly Status Report " & fReportPeriod
Set oRng = oDocCurWeek.Bookmarks("ReportPeriod").Range
oRng.Text = fReportPeriod
oDocCurWeek.Bookmarks.Add Name:="ReportPeriod", Range:=oRng
End With
End Sub

Public Function fReportPeriod() As String
Dim dFirstDayOfWeek As Date
Dim dCurrDayOfWeek As Date
Dim sReportPeriod As String
dFirstDayOfWeek = DateAdd(Interval:="d", _
Number:=-(Weekday(Date:=Date, FirstDayOfWeek:=vbMonday) - 1), _
Date:=Date)
dCurrDayOfWeek = Date
sReportPeriod = Day(Date:=dFirstDayOfWeek) & "-" & Day(Date:=dCurrDayOfWeek)

If fMonthName(dDate:=dFirstDayOfWeek) = _
fMonthName(dDate:=dCurrDayOfWeek) Then
fReportPeriod = fMonthName(dDate:=dFirstDayOfWeek) & " " & _
sReportPeriod
Else
fReportPeriod = fMonthName(dDate:=dFirstDayOfWeek) & " " _
& Day(Date:=dFirstDayOfWeek) & "-" & _
fMonthName(dDate:=dCurrDayOfWeek) & " " _
& Day(Date:=dCurrDayOfWeek)
End If

End Function

Public Function fMonthName(dDate As Date) As String
fMonthName = MonthName _
(Month:=DatePart("m", Date:=dDate), _
Abbreviate:=True)
End Function

HTH,
Dave
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top