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

Outlookで毎月送信したメールの数をカウントするにはどうすればよいですか?

Author: Xiaoyang Last Modified: 2025-05-23

時々、毎月何通のメールを送信したか知りたい場合があります。このチュートリアルでは、Outlookで毎月送信したメールの数をカウントするためのVBAコードを紹介します。


VBAコードを使用してOutlookで毎月送信したメールの数をカウントする

以下のVBAコードを適用して、以下に示すように毎月送信したメールの数を取得してください:

1. ALT + F11 キーを押したままにし、Microsoft Visual Basic for Applications ウィンドウを開きます。

2. 挿入 > モジュール をクリックし、 モジュールウィンドウに次のコードを貼り付けます。

VBAコード: 毎月送信したメールの数をカウントする:

Dim GDictionary As Object
Sub CountSentMailsByMonth()
'Updateby Extendoffice
Dim xSentFolder As Outlook.Folder
Dim xExcelApp As Excel.Application
Dim xWb As Excel.Workbook
Dim xWs As Excel.Worksheet
Dim xMonths As Variant
Dim xItemsCount As Variant
Dim xLastRow As Integer
Dim I As Integer
Dim xAccount As Account
On Error Resume Next
Set GDictionary = CreateObject("Scripting.Dictionary")
For Each xAccount In Application.Session.Accounts
  If VBA.LCase$(xAccount.SmtpAddress) = VBA.LCase$("yy@addin99.com") Then  'Specify the Email Account
    Set xSentFolder = xAccount.DeliveryStore.GetDefaultFolder(olFolderSentMail)
    If xSentFolder.DefaultItemType = olMailItem Then
      Call ProcessFolders(xSentFolder)
    End If
  End If
Next
Set xSentFolder = Nothing
Set xExcelApp = CreateObject("Excel.Application")
xExcelApp.Visible = True
Set xWb = xExcelApp.Workbooks.Add
Set xWs = xWb.Sheets(1)
With xWs
  .Cells(1, 1) = "Month"
  .Cells(1, 2) = "Count"
  .Cells(1, 1).Font.Bold = True
  .Cells(1, 2).Font.Bold = True
  .Cells(1, 1).HorizontalAlignment = xlCenter
  .Cells(1, 2).VerticalAlignment = xlCenter
End With
xMonths = GDictionary.Keys
xItemsCount = GDictionary.Items
For I = LBound(xMonths) To UBound(xMonths)
  xLastRow = xWs.Range("A" & xWs.Rows.Count).End(xlUp).Row + 1
  With xWs
    .Cells(xLastRow, 1) = xMonths(I)
    .Cells(xLastRow, 2) = xItemsCount(I)
  End With
Next
xWs.Columns("A:B").AutoFit
xExcelApp.Visible = True
Set xExcelApp = Nothing
Set xWb = Nothing
Set xWs = Nothing
End Sub

Sub ProcessFolders(ByVal Fld As Outlook.Folder)
Dim I As Long
Dim xMail As Outlook.MailItem
Dim xMonth As String
Dim xSubFolder As Folder
On Error Resume Next
For I = Fld.Items.Count To 1 Step -1
  If Fld.Items(I).Class = olMail Then
    Set xMail = Fld.Items(I)
    xMonth = Year(xMail.SentOn) & "/" & Month(xMail.SentOn)
    If GDictionary.Exists(xMonth) Then
      GDictionary(xMonth) = GDictionary(xMonth) + 1
    Else
      GDictionary.Add xMonth, 1
    End If
  End If
Next
If Fld.Folders.Count > 0 Then
  For Each xSubFolder In Fld.Folders
    Call ProcessFolders(xSubFolder)
  Next
End If
End Sub
ノート: コード内で、メールアカウント “yy@addin99.com” をご自身のものに変更してください。

3. まだ Microsoft Visual Basic for Applications ウィンドウ内で、ツール > 参照 をクリックし、参照-プロジェクト ダイアログボックスで利用可能な参照リストボックスから Microsoft Excel 16.0 Object Library オプションをチェックします。スクリーンショットをご覧ください:

doc-count-sent-emails-per-month-1

4. その後、OK をクリックしてダイアログボックスを閉じ、F5 キーを押してこのコードを実行します。すると、特定のアカウントに関する各月の送信メール数が表示された Excelファイル が開きます。スクリーンショットをご覧ください:

doc-count-sent-emails-per-month-2

OutlookのAIメールアシスタント:スマートな返信、クリアなコミュニケーション(ワンクリックで魔法のような操作!) 無料

Kutools for OutlookのAIメールアシスタントを使用して、毎日のOutlookタスクを効率化しましょう。この強力なツールは、過去のメールから学習し、インテリジェントで正確な返信を提供し、メールの内容を最適化し、メッセージの作成や修正を手間なく行うことができます。
doc ai email handle

この機能がサポートする内容:

  • スマート返信:過去の会話に基づいて調整された、的確で使用準備の整った返信を取得します。
  • 強化されたコンテンツ:メールの文章を自動的に洗練させ、明瞭さと影響力を高めます。
  • 簡単な作成:キーワードを入力するだけで、複数のライティングスタイルでAIが残りを処理します。
  • インテリジェント拡張:文脈を理解した提案で考えを広げます。
  • 要約:長文のメールを瞬時に簡潔にまとめます。
  • グローバル対応:メールを簡単にどの言語にも翻訳できます。

この機能がサポートする内容:

  • スマートメール返信
  • 最適化されたコンテンツ
  • キーワードベースの下書き
  • インテリジェントなコンテンツ拡張
  • メールの要約
  • 多言語翻訳

何より、この機能は永遠に完全無料です今すぐAIメールアシスタントをダウンロードしてお楽しみください


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

速報: Kutools for Outlook が無料版をリリース!

新しい Kutools for Outlook の無料版を体験してください。70以上の素晴らしい機能が永遠に使えます!今すぐダウンロードをクリック!

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

📧 メール自動化: 自動返信 (POPとIMAPで利用可能) / メール送信のスケジュール / メール送信時にルールによる自動 CC/BCC / 自動転送 (高度なルール) / 自動挨拶追加 / 複数の宛先を持つメールを個別のメールに自動的に分割...

📨 メール管理: メールの取り消し / 件名やその他によるスパムメールのブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理...

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

🌟 インターフェースマジック: 😊より美しくクールな絵文字 /重要なメールが来たときに通知 / クローズ中ではなくOutlookを最小化...

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

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

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

kutools for outlook features1 kutools for outlook features2