如何根据您的工作时间自动设置 Outlook 在线或离线

立即分享:

有些用户希望让 Outlook 能够根据工作时间自动切换在线和离线状态。 因此,在本文中,我们将与您分享一个快速的方法。

实际上,将 Outlook 设置为联机或脱机非常简单。 要将 Outlook 转为离线状态,只需切换到“发送/接收”选项卡,然后按“离线工作”按钮即可。 要返回在线状态,只需再次点击此按钮即可。 但是,有些用户希望Outlook能够在非工作时间自动切换到离线状态,并在工作时间恢复在线状态。 虽然 Outlook 没有提供这样的功能,你仍然可以利用下面的 VBA 代码来实现它。

根据您的工作时间自动设置 Outlook 在线或离线

根据您的工作时间自动设置 Outlook 在线或离线

  1. 一开始,start 您的 Outlook 应用程序。
  2. 然后,在访问您的 Outlook 之后,您应该打开您的任务文件夹。
  3. 接下来,您应该创建一个每日重复的任务项。
  • 单击功能区中的“新建任务”按钮。
  • 然后在任务主题行中输入“离线”。
  • 接下来单击“任务”选项卡下的“重复”按钮。
  • 在弹出的对话框中,选择“每日”循环模式,启用“无结束日期”并点击“确定”。创建每日重复任务项
  • 接下来,您应该在“下午 5:00”启用提醒。在“下午 5:00”启用提醒
  • 最后点击“保存并关闭”按钮。
  1. 随后,您需要创建另一个名为“Online”的每日重复任务,并在“8:00 AM”启用提醒,如下图所示:创建另一个名为“在线”的每日重复任务
  2. 之后,在 Outlook 主窗口中,按“Alt + F11”键按钮。
  3. 接下来您将访问 Outlook VBA 编辑器,您需要在其中找到并打开“ThisOutlookSession”项目。
  4. 稍后将以下 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

VBA 代码 - 根据您的工作时间自动设置 Outlook 在线或离线

  1. 最终,您可以重新tart Outlook 以激活此宏。
  2. 从现在开始,您的 Outlook 将在工作时间在线,并在工作时间之外自动切换到离线状态。

万一 Outlook 崩溃,您的最后一招

尽管 Outlook 拥有多项功能,但 Outlook 仍然无法避免错误和损坏。 但不要惊慌。 只要您做好足够的预防措施,您仍然可以有效地保护您的 Outlook 数据。 例如,您应该定期备份您的 PST 文件,因为备份将使您能够恢复 损坏的 PST 数据。 另外,保留一个强大的修复工具,比如 DataNumen Outlook Repair,也是必然的。

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复 mdf 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。