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

勤務時間に基づいてOutlookをオンラインまたはオフラインに自動設定
- まず最初に、Outlookアプリケーションを起動してください。
- 次に、Outlookにアクセスした後、タスクフォルダーを開く必要があります。
- 次に、毎日定期的なタスクアイテムを作成する必要があります。
- リボンの「新規タスク」ボタンをクリックします。
- 次に、タスクの件名に「オフライン」と入力します。
- 次に、「タスク」タブの下の「繰り返し」ボタンをクリックします。
- ポップアップダイアログボックスで、「毎日」の繰り返しパターンを選択し、「終了日なし」を有効にして、「OK」をクリックします。
- 次に、「午後5時」にリマインダーを有効にする必要があります。
- 最後に「保存して閉じる」ボタンを押します。
- 続いて、「オンライン」と呼ばれる別の毎日の定期的なタスクを作成し、次の画像に示すように、「午前8時」にリマインダーを有効にする必要があります。
- その後、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
- 最終的に、Outlookを再起動することでこのマクロを有効にできます。
- 今後、Outlookは勤務時間内にオンラインになり、勤務時間外に自動的にオフラインステータスに切り替わります。
Outlookがクラッシュした場合の最後の手段
Outlookには複数の機能がありますが、それでもOutlookはエラーや損傷を防ぐことはできません。 しかし、慌てる必要はありません。 十分な予防策を講じている限り、Outlookデータを効果的に保護できます。 たとえば、バックアップによって元に戻すことができるため、PSTファイルを定期的にバックアップする必要があります 破損したPST データ。 また、次のような強力な修復ツールを維持する DataNumen Outlook Repair、また必要な問題です。
著者紹介:
Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 mdfを修正 と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com



