内德每个星期五都会制作一份报告,并分发给他的公司。

他希望报告的标题始终包含上一个星期一的日期。他想知道如何动态显示当前一周的日期。

如果Ned在Excel中生成报告,则计算上周一的日期将非常容易。但是,这不是Excel。该报告使用Word。因此,任务远非易事。但是,您可以采取几种方法。

一种方法是在星期一实际为您的报告创建Word文档。您不必在报告中添加任何内容。只需创建将在本周末使用的文档即可创建报告。

然后,您可以在标头中包含一个字段,用于插入创建文档的日期(CreateDate字段)。它始终反映创建文档的星期一。

如果这不符合您的需求(出于某种原因,也许您无法在星期一创建文档),则可以尝试使用嵌套字段创建日期。以下是可能的:

{ date \@ "MMMM { ={date \@"dd"} -5} yyyy"}

请记住,需要使用Ctrl + F9输入每对字段括号。复合字段将适用于许多日期,但是如果您计算该字段的星期五在该月的前五天之内,则会遇到问题。 (在那些日子里,内部字段中的计算将返回负值。)没有解决此问题的简便方法。

最简单的方法是使用宏插入日期。宏可以很容易地进行日期计算。这是一个可以计算正确日期的快速小宏示例:

Sub MondayBeforeToday()

Subtract = Choose(Weekday(Date), 6, 7, 1, 2, 3, 4, 5)

DateFormat = "dddd mm/dd/yyyy"

Selection.InsertBefore Format((Date - Subtract), DateFormat)

End Sub

您需要做的就是将插入点放置在想要日期的位置,然后运行宏。它可以在一周的任何一天运行,并且总是插入上一个星期一的日期。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)上描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(9800)适用于Microsoft Word 97、2000、2002和2003。您可以在Word(Word 2007)的功能区界面中找到此技巧的版本。和更高版本)在这里: