#1
|
|||
|
|||
Calculate week in Word document based on date entered into same document
Hi
Into Word document, document date (in format dd.mm.yyyy) is entered. Elsewhere in same document I need an ISO weeknumber of this date displayed. Probably an UDF must be defined to calculate it - something like (on fly) Code:
Public Function WeekNo(parDate As Date) As Integer WeekNo = DatePart(ww, parDate, 2, 2) End Function Is this possible? a) in regular Word document; b) in Word template only. |
#2
|
|||
|
|||
I do not believe I can quickly accomplish what you want.
I would store your week number in a document variable and use the Document Variable field to display it. You need something to trigger upon changing the date. I believe if this is a date picker content control you can do this. You would want it to also update any document variable fields in the document after updateing the variable. Just some thoughts. I am a dabbler. There are real programmers who frequent this forum. I am moving this to the vba forum. |
#3
|
||||
|
||||
In your Word document, put two content controls
Date Picker Content Control: give it a title of "TheDate" Plain text Content Control: give it a title of "TheWeek" Then in your ThisDocument module, add this code Code:
Private Sub Document_ContentControlOnExit(ByVal aCC As ContentControl, Cancel As Boolean) Dim aDate As Date If aCC.Title = "TheDate" Then aDate = CDate(aCC.Range.Text) ActiveDocument.SelectContentControlsByTitle("TheWeek")(1).Range.Text = DatePart("ww", aDate, 2, 2) End If End Sub
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
#4
|
|||
|
|||
Thanks!
I'll try this out at Monday. |
#5
|
|||
|
|||
Hi It worked, but I didn't get full information last week, so I had to modify a bit The document is printed out when a delivery is sent. The date is inserted automatically whenever the document is opened (the field is created using Insert > Date and Time). So instead of Document_ContentControlOnExit() I had to use Code:
Private Sub Document_Open() ActiveDocument.SelectContentControlsByTitle("TheWeek")(1).Range.Text = DatePart("ww", Date, 2, 2) End Sub |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
split word document based on bookmarks with each new document title of the bookmark | megatronixs | Word VBA | 9 | 09-05-2020 02:29 PM |
data entered in one workbook should be updated in other relevant workbook based on the date | vedha | Excel | 0 | 04-24-2015 08:45 PM |
calculate date if date entered in cell, do nothing if blank | ConfuddledOne | Excel | 3 | 11-07-2014 09:37 AM |
Formula to auto calculate Day of the week based on Date | prasad@dmci.ca | Excel | 1 | 11-29-2011 01:05 PM |