メインコンテンツへスキップ

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

Outlookで予定や会議に費やした時間/日数/週数をカウントするにはどうすればよいですか?

Author Kelly Last modified

Outlookのカレンダーに多くの予定と会議があるとします。そして、これらの予定や会議に費やした時間/日数/週数をカウントしたいのですが、何かアイデアはありますか?この記事では、それを支援するためのVBAを紹介します。

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


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

この方法では、指定された予定や会議に費やした時間や分をカウントするための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を実行します。

これでダイアログボックスが表示され、選択した予定/会議に費やした時間/分数が表示されます。スクリーンショットをご覧ください:

using vba to count hours/days/weeks spent on an appointment or meeting in Outlook

:このVBAコードを使用して、複数の予定や会議を選択し、それらに費やした合計時間/分をカウントすることもできます。


関連記事

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

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

OutlookのTo、Cc、Bccフィールドの宛先数をカウントする

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


最高のオフィス生産性ツール

最新情報: Kutools for Outlook 無料版リリース!

新しくなった Kutools for Outlook を100以上の素晴らしい機能とともに体験してください!今すぐダウンロードしてみましょう!

🤖 Kutools AI : 高度なAI技術を活用し、メールの返信、要約、最適化、拡張、翻訳、作成までを簡単に処理します。

📧 メール自動化: 自動返信(POPとIMAPに対応) / スケジュール電子メールを送信 /送信時にルールで自動 CC/BCC / 高度なルールによる自動転送 / 挨拶を自動追加 / 複数宛先メールを自動的に一通ずつ分割...

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

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

🌟 インターフェイスマジック: 😊さらに美しくてクールな絵文字 /重要なメール到着時に通知 / Outlookを閉じるのではなくグループを最小化...

👍 ワンクリック便利機能: 全員に【Attachment】付きで返信 / フィッシング対策メール / 🕘送信者のタイムゾーン表示...

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

お好みの言語で Kutools を利用可能 ― 英語、スペイン語、ドイツ語、フランス語、中国語など40以上の言語に対応!

Kutools for Outlookをワンクリックですぐに利用開始。待たずに今すぐダウンロードして効率を高めましょう!

kutools for outlook features1 kutools for outlook features2

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

強くおすすめ: Kutools for Office(5-in-1)

ワンクリックで五つのインストーラーを同時ダウンロード ― Kutools for Excel、Outlook、Word、PowerPointOffice Tab Pro 今すぐダウンロード!

  • ワンクリックの便利さ: 五つのセットアップパッケージを一度にダウンロードできます。
  • 🚀 あらゆるOffice作業に準備完了: 必要なアドインをいつでもインストール可能です。
  • 🧰 含まれるもの: Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint