勤務時間に基づいてOutlookをオンラインまたはオフラインに自動設定する方法

今すぐ共有:

一部のユーザーは、Outlookが勤務時間に基づいてオンラインステータスとオフラインステータスを自動的に切り替えるようにしたいと考えています。 したがって、この記事では、簡単な方法を紹介します。

実際、Outlookをオンラインまたはオフラインに設定するのは非常に簡単です。 Outlookをオフライン状態にするには、[送信/受信]タブに切り替えて、[オフラインで作業]ボタンを押すだけです。 また、オンラインステータスに戻るには、このボタンをもう一度押します。 ただし、一部のユーザーは、Outlookが勤務時間外に自動的にオフラインステータスに切り替わり、勤務時間内にオンラインに戻ることを望んでいます。 Outlookはそのような機能を提供していませんが、それでも次のVBAコードを利用してそれを実現できます。

勤務時間に基づいてOutlookをオンラインまたはオフラインに自動設定

勤務時間に基づいてOutlookをオンラインまたはオフラインに自動設定

  1. まず最初に、Outlookアプリケーションを起動してください。
  2. 次に、Outlookにアクセスした後、タスクフォルダーを開く必要があります。
  3. 次に、毎日定期的なタスクアイテムを作成する必要があります。
  • リボンの「新規タスク」ボタンをクリックします。
  • 次に、タスクの件名に「オフライン」と入力します。
  • 次に、「タスク」タブの下の「繰り返し」ボタンをクリックします。
  • ポップアップダイアログボックスで、「毎日」の繰り返しパターンを選択し、「終了日なし」を有効にして、「OK」をクリックします。毎日定期的なタスクアイテムを作成する
  • 次に、「午後5時」にリマインダーを有効にする必要があります。「午後5時」にリマインダーを有効にする
  • 最後に「保存して閉じる」ボタンを押します。
  1. 続いて、「オンライン」と呼ばれる別の毎日の定期的なタスクを作成し、次の画像に示すように、「午前8時」にリマインダーを有効にする必要があります。「オンライン」と呼ばれる別の毎日の定期的なタスクを作成します
  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. 最終的に、Outlookを再起動することでこのマクロを有効にできます。
  2. 今後、Outlookは勤務時間内にオンラインになり、勤務時間外に自動的にオフラインステータスに切り替わります。

Outlookがクラッシュした場合の最後の手段

Outlookには複数の機能がありますが、それでもOutlookはエラーや損傷を防ぐことはできません。 しかし、慌てる必要はありません。 十分な予防策を講じている限り、Outlookデータを効果的に保護できます。 たとえば、バックアップによって元に戻すことができるため、PSTファイルを定期的にバックアップする必要があります 破損したPST データ。 また、次のような強力な修復ツールを維持する DataNumen Outlook Repair、また必要な問題です。

著者紹介:

Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 mdfを修正 と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。