在本文中,我们想向您介绍 Word 中可以通过 VBA 创建的 3 种不同类型的提醒。
由于我们中的一些人每天都必须在 Word 中处理大量文件,因此我们很可能会不知所措,有时还会遗漏一些工作。 在这种情况下,提醒会有所帮助。 因此,我们为您提供了 3 种方便的提醒,您可以利用它们来跟踪该做什么。
第一种:每日提醒
例如,如果您习惯在今天结束时制定明天的计划,那么您需要一个每日提醒。在 Word VBA 编辑器中,您可以添加一个名为“AutoExec”的宏。这样,每次您打开 Word 应用程序时,该宏都会自动运行,并弹出一个消息框,列出当天需要完成的所有任务。
- 首先,打开Word,按“Alt+F11”打开VBA编辑器。
- 然后点击“正常”。
- 接下来点击“插入”。
- 并选择菜单上的“模块”以在“普通”项目下插入一个新模块。

- 现在双击模块进入编辑区,粘贴以下代码:
Sub AutoExec()
Dim dtDate As Date
dtDate = #2/20/2017#
If Date = dtDate Then
MsgBox "Tasks to be done today:" & vbCr & "1: Send fileXX to John Smith " & vbCr & "2: Finish file YY"
End If
End Sub
- 接下来单击“Save Normal”以保存更改。
因此,每次打开 Word 时,都会出现一个消息框,列出您需要完成的所有任务。 单击“确定”,您可以打开并继续编辑特定文档。
备注:
- 在代码行“dt日期 = #2/20/2017#”,日期是您必须执行所有操作的日期。 记得相应地改变。
- 在代码行“MsgBox “今天要完成的任务:” & vbCr & “1:将文件XX发送给John Smith” & vbCr & “2:完成文件YY””, 引号之间的内容就是你需要遵循的任务列表。 将其替换为您自己的具体任务。 您应该将每个列表项放在引号内,并用“& vbCr &”(无引号)。
第二种:重复任务提醒
每周提醒
每周提醒来了,通知您每周同一天必须做的事情。
- 首先,重复上面的前 4 个步骤。
- 只有这一次,您粘贴下面的宏:
Sub AutoExec()
Dim dtWeekDay As Date
dtWeekDay = vbMonday
If dtWeekDay = Weekday(Date) Then
MsgBox "Back up today of each week."
End If
End Sub
- 同样,最后单击“保存正常”按钮。
同样,会有一个消息框。 单击“确定”继续在 Word 中编写。
备注:
在代码行“dtWeekDay = vbMonday“, 你可以改变 ”vb星期一“要”vb星期二“”vb星期三“”vb星期四“”vb星期五“”vb星期六“, 要么 ”vb星期日”。
每月提醒
同理还有月度提醒,提醒你月度任务。
- 还是走《第一类:每日提醒》的前4步。
- 然后将代码粘贴到那里:
Sub AutoExec()
Dim dtDay As Date
dtDay = 20
If dtDay = Day(Date) Then
MsgBox "Back up today of each month."
End If
End Sub
- 最后但并非最不重要的一点是,单击“保存正常”。
同样,每次打开 Word 时都会弹出一个消息框。
请注意:
在代码行“dtDay = 20”,数字就是你需要完成每月任务的日期。 请记住在运行宏之前更改它。
第三类:日期或时差提示
鉴于几乎所有事情都有截止日期,因此必须牢记剩余的确切日期或时间。为此,接下来的两个宏可以自动计算当前日期或时间与截止日期之间的差值。打开 Word 时,结果会显示在消息框中。
运行和保存宏的步骤同上。
这是获取日差的宏:
Sub Autoexec()
Dim dtDeadlineDay As Date
Dim nDaysLeft As Long
'Specify the deadline date and calculate the days left.
dtDeadlineDay = #2/20/2017#
nDaysLeft = DateDiff("d", Now, dtDeadlineDay)
' Show the days left before deadline.
If nDaysLeft > 1 Then
MsgBox "There are " & nDaysLeft & " days left before " & dtDeadlineDay & "."
ElseIf nDaysLeft = 1 Then
MsgBox "There is 1 day left before " & dtDeadlineDay & "."
ElseIf nDaysLeft = 0 Then
MsgBox "Today is the deadline!"
End If
End Sub
结果是:
请注意:
记得修改代码行“dtDeadlineDay = #2/20/2017#”。 只需根据需要更改日期即可。
接下来是获取时差的宏:
Sub Autoexec()
Dim dtCurrentTime As Date
Dim dtDeadlineTime As Date
Dim nTimeLeft As Long, nHour As Long, nMinute As Long, nSecond As Long
' Specify the current time and the deadline time.
dtCurrentTime = TimeValue(Now)
dtDeadlineTime = TimeValue("16:40:00 PM")
' Calculate and show the time difference.
nTimeLeft = DateDiff("s", dtCurrentTime, dtDeadlineTime)
nHour = nTimeLeft \ 3600
nTimeLeft = nTimeLeft - nHour * 3600
nMinute = nTimeLeft \ 60
nSecond = nTimeLeft - nMinute * 60
MsgBox "There are " & nHour & " hours " & nMinute & " minutes " & nSecond & " seconds left before " & dtDeadlineTime & "."
End Sub
结果是:
请注意:
替换“中的时间dtDeadlineTime = TimeValue(“16:40:00 PM”)” 一个有意义的。
一个有价值的备份
我们永远不会低估它的重要性以及它在文件损坏后可以做什么。 此外,建议我们至少每天或每周或每月制定一个备份计划。 备份是我们为防止数据损坏而应该做的确切准备。 否则,我们可以做的最后努力就是获得一个 损坏的Word数据恢复工具.
作者简介:
Vera Chen 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 损坏的 Excel xls 修复工具 和 pdf 修复软件产品。 欲了解更多信息,请访问 datanumen.com







