如何让 Word VBA TypeText 在今天日期后 45 天显示,但在下周一显示?

How to have Word VBA TypeText 45 days after today's date, but have it display the following Monday?

我正在尝试插入未来的访问日期,即当前日期后 20 天,但如果该日期不是星期一,我需要它是下一个星期一。

我的代码目前是:

.TypeText "We will visit your location the week of "
.TypeText Text:=Format(Date + 20, "mmmm d, yyyy, ")

那天是 5 月 14 日,星期六。我希望它显示 16 日,因为那是下周一。

添加此功能

Function MondayOnOrAfter(StartDate As Date) As Date
    Dim ReturnDate As Date
    ReturnDate = StartDate
    Do While Weekday(ReturnDate) <> vbMonday
        ReturnDate = ReturnDate + 1
    Loop
    MondayOnOrAfter = ReturnDate
End Function

然后这样称呼它

.TypeText Text:=Format(MondayOnOrAfter(Date + 20), "mmmm d, yyyy, ")

它一次加一天,直到星期一。不用循环也可以解决这个问题,但代码不会很漂亮。