KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Outlook で予定や会議に費やした時間(時・日・週単位)をカウントするには、どうすればよいですか?

著者ケリー変更日

Outlook のカレンダーに多数の会議が登録されているとします。これらの会議に費やした時間を「時・日・週」単位で集計したい場合、どのようにすればよいでしょうか?この記事では、その作業を効率的にサポートする VBA コードをご紹介します。

VBA を使用して予定や会議に費やした時間(時・日・週)をカウントする


VBA を使用して予定や会議に費やした時間(時・日・週)をカウントする

この方法では、Outlook で指定した予定や会議に費やした時間を(時または分で)カウントする VBA をご紹介します。以下の手順に従ってください。

1。カレンダーフォルダーに切り替えて、費やした時間を記録したい予定または会議をクリックして選択します。

2。Alt+F11キーを同時に押すと、「Microsoft Visual Basic for Applications」ウィンドウが開きます。

3。挿入 > モジュールをクリックし、開いたモジュールウィンドウに以下の VBA コードを貼り付けてください。

VBA:Outlook で予定や会議に費やした時間(時・分)をカウントする

Sub CountTimeSpent()
Dim oOLApp As Outlook.Application
Dim oSelection As Outlook.Selection
Dim oItem As Object
Dim iDuration As Long
Dim iTotalWork As Long
Dim iMileage As Long
Dim iResult As Integer
Dim bShowiMileage As Boolean

bShowiMileage = False

iDuration = 0
iTotalWork = 0
iMileage = 0

On Error Resume Next

    Set oOLApp = CreateObject("Outlook.Application")
Set oSelection = oOLApp.ActiveExplorer.Selection

    For Each oItem In oSelection
If oItem.Class = olAppointment Then
iDuration = iDuration + oItem.Duration
iMileage = iMileage + oItem.Mileage
ElseIf oItem.Class = olTask Then
iDuration = iDuration + oItem.ActualWork
iTotalWork = iTotalWork + oItem.TotalWork
iMileage = iMileage + oItem.Mileage
ElseIf oItem.Class = Outlook.olJournal Then
iDuration = iDuration + oItem.Duration
iMileage = iMileage + oItem.Mileage
Else
iResult = MsgBox("Please select some Calendar, Task or Journal items at first!", vbCritical, "Items Time Spent")
Exit Sub
End If
Next

Dim MsgBoxText As String
MsgBoxText = "Total time spent: " & vbNewLine & iDuration & " minutes"

If iDuration > 60 Then
MsgBoxText = MsgBoxText & HoursMsg(iDuration)
End If

If iTotalWork > 0 Then
MsgBoxText = MsgBoxText & vbNewLine & vbNewLine & "Total work recorded; " & vbNewLine & iTotalWork & " minutes"

If iTotalWork > 60 Then
MsgBoxText = MsgBoxText & HoursMsg(iTotalWork)
End If
End If

If bShowiMileage = True Then
MsgBoxText = MsgBoxText & vbNewLine & vbNewLine & "Total iMileage; " & iMileage
End If

    iResult = MsgBox(MsgBoxText, vbInformation, "Items Time spent")

ExitSub:
Set oItem = Nothing
Set oSelection = Nothing
Set oOLApp = Nothing
End Sub

Function HoursMsg(TotalMinutes As Long) As String
Dim iHours As Long
Dim iMinutes As Long
iHours = TotalMinutes \ 60
iMinutes = TotalMinutes Mod 60
HoursMsg = " (" & iHours & " Hours and " & iMinutes & " Minutes)"
End Function

4。F5キーを押すか、実行ボタンをクリックして、この VBA を実行してください。

すると、選択した予定/会議に費やした時間が何時間(または何分)かを示すダイアログボックスが表示されます。下記のスクリーンショットをご確認ください。

VBA を使用して Outlook の予定または会議に費やされた時間/日数/週数をカウントする

:この VBA コードを使えば、複数の予定や会議を同時に選択して、それらに費やした合計時間(時・分)を簡単にカウントできます。


関連記事

Outlook でフォルダー内の会話数の合計数をカウントする

Outlook で選択したメール内の添付ファイルの総数をカウントする

Outlook で「To」「Cc」「Bcc」フィールドの受信者数をカウントする

Outlook で送信者ごとにメール数をカウントする


最高の Office 生産性ツール

まったく新しいKutools for Outlook を、100 以上の驚きの機能とともに体験しましょう!今すぐダウンロード!

🤖KUTOOLS AI高度な AI 技術を活用して、メールの返信、要約、最適化、拡張、翻訳、作成など、あらゆる操作をラクラクこなします。

📧メール自動化自動返信(POP および IMAP 対応)/メールのスケジュール送信/メール送信時にルールに基づいて自動 CC/BCC/自動転送(高度なルール)/自動で挨拶文を追加/複数の宛先を持つメールを個別のメッセージに自動分割...

📨メール管理メールの取り消し/件名などを基準に詐欺メールをブロック/重複したメールを削除/高度な検索/フォルダーを整理...

📁添付ファイルプロ一括保存/一括分離/一括圧縮/自動保存/自動的に切り離す/自動圧縮...

🌟インターフェースの魅力😊さらに美しくクールな絵文字を多数収録/重要なメールが届いた際に通知/Outlook を閉じる代わりに最小化...

👍ワンクリックの驚き全員に【Attachment】付きで返信/フィッシングメール対策/🕘送信者の現在時刻ゾーンを表示...

👩🏼‍🤝‍👩🏻連絡先とカレンダー選択したメールから連絡先を追加を一括登録/連絡先グループを個別のグループに分割/誕生日のリマインダーを削除...

Kutools はお好みの言語でお使いいただけます!英語、スペイン語、ドイツ語、フランス語、中国語をはじめ、40 以上の言語をサポートしています!

ワンクリックでKutools for Outlook の機能を即解放!今すぐダウンロードして、効率を飛躍的にアップさせましょう!

kutools for outlook features1kutools for outlook features2

🚀 ワンクリックダウンロード — Office アドインをすべて入手

強く推奨:Kutools for Office(5-in-1)

ワンクリックで5 つのインストーラーを 一括ダウンロード! ―Kutools for Excel、Outlook、Word、PowerPointおよびOffice Tab Pro今すぐダウンロード!

  • ワンクリックで簡単操作:5 つのセットアップパッケージをたった1 回のクリックで一括ダウンロードできます。
  • 🚀どんな Office 作業にも対応可能:必要なときに、必要なアドインをすぐインストールできます。
  • 🧰含まれるもの:Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint