有些用户希望让 Outlook 能够根据工作时间自动切换在线和离线状态。 因此,在本文中,我们将与您分享一个快速的方法。
实际上,将 Outlook 设置为联机或脱机非常简单。 要将 Outlook 转为离线状态,只需切换到“发送/接收”选项卡,然后按“离线工作”按钮即可。 要返回在线状态,只需再次点击此按钮即可。 但是,有些用户希望Outlook能够在非工作时间自动切换到离线状态,并在工作时间恢复在线状态。 虽然 Outlook 没有提供这样的功能,你仍然可以利用下面的 VBA 代码来实现它。
根据您的工作时间自动设置 Outlook 在线或离线
- 一开始,start 您的 Outlook 应用程序。
- 然后,在访问您的 Outlook 之后,您应该打开您的任务文件夹。
- 接下来,您应该创建一个每日重复的任务项。
- 单击功能区中的“新建任务”按钮。
- 然后在任务主题行中输入“离线”。
- 接下来单击“任务”选项卡下的“重复”按钮。
- 在弹出的对话框中,选择“每日”循环模式,启用“无结束日期”并点击“确定”。
- 接下来,您应该在“下午 5:00”启用提醒。
- 最后点击“保存并关闭”按钮。
- 随后,您需要创建另一个名为“Online”的每日重复任务,并在“8:00 AM”启用提醒,如下图所示:
- 之后,在 Outlook 主窗口中,按“Alt + F11”键按钮。
- 接下来您将访问 Outlook VBA 编辑器,您需要在其中找到并打开“ThisOutlookSession”项目。
- 稍后将以下 VBA 代码复制到该项目中。
Dim objNameSpace As Outlook.NameSpace
'Set Online/Offline Status on Outlook Startup
Private Sub Application_Startup()
Set objNameSpace = Application.GetNamespace("MAPI")
'If now is before 8:00 AM or after 5:00 PM on Outlook startup
If Now() < DateSerial(Year(Now), Month(Now), Day(Now)) + #8:00:00 AM# Or Now() > DateSerial(Year(Now), Month(Now), Day(Now)) + #5:00:00 PM# Then
'If Outlook is online
If objNameSpace.Offline = False Then
'set it offline
ActiveExplorer().CommandBars.FindControl(, 5613).Execute
End If
'If now is between 8:00 AM and 5:00 PM
Else
'If Outlook is offline
If objNameSpace.Offline = True Then
'Set it online
ActiveExplorer().CommandBars.FindControl(, 5613).Execute
End If
End If
End Sub
'Change Online/Offline Status at Specific Time
Private Sub Application_Reminder(ByVal Item As Object)
Dim objOfflineTask As Outlook.TaskItem
Dim objOnlineTask As Outlook.TaskItem
Set objNameSpace = Application.GetNamespace("MAPI")
If TypeOf Item Is TaskItem Then
If Item.Subject = "Offline" Then
Set objOfflineTask = Item
'If Outlook is online when "Offline" task reminder alerts
If objNameSpace.Offline = False Then
'Set Outlook offline
ActiveExplorer().CommandBars.FindControl(, 5613).Execute
End If
'Clear the reminder by marking task complete
objOfflineTask.MarkComplete
ElseIf Item.Subject = "Online" Then
Set objOnlineTask = Item
'If Outlook is offline when "Online" task reminder alerts
If objNameSpace.Offline = True Then
'Set Outlook online
ActiveExplorer().CommandBars.FindControl(, 5613).Execute
End If
objOnlineTask.MarkComplete
End If
End If
End Sub
- 最终,您可以重新tart Outlook 以激活此宏。
- 从现在开始,您的 Outlook 将在工作时间在线,并在工作时间之外自动切换到离线状态。
万一 Outlook 崩溃,您的最后一招
尽管 Outlook 拥有多项功能,但 Outlook 仍然无法避免错误和损坏。 但不要惊慌。 只要您做好足够的预防措施,您仍然可以有效地保护您的 Outlook 数据。 例如,您应该定期备份您的 PST 文件,因为备份将使您能够恢复 损坏的 PST 数据。 另外,保留一个强大的修复工具,比如 DataNumen Outlook Repair,也是必然的。
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复 mdf 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com




