Note: The other languages of the website are Google-translated. Back to English
English English

Outlook で XNUMX か月あたりに送信されたメールの数を数えるにはどうすればよいですか?

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


VBAコードを使用してOutlookで月ごとに送信された電子メールの数を数えます

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

1。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

VBA コード: XNUMX か月あたりの送信メール数をカウントします。

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 ウィンドウ、クリック 工具 > リファレンス、で 参考資料-プロジェクト ダイアログボックス、チェック Microsoft Excel16.0オブジェクトライブラリ オプションから 利用可能な参考文献 リストボックス、スクリーンショットを参照:

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


Kutools for Outlook-100の高度な機能をOutlookにもたらし、作​​業をはるかに簡単にします!

  • 自動CC / BCC メール送信時のルールによる。 自動転送 カスタムによる複数の電子メール。 自動返信 Exchangeサーバーなし、およびより多くの自動機能...
  • BCC警告 -全員に返信しようとするとメッセージを表示する メールアドレスがBCCリストにある場合; 添付ファイルがない場合に通知する、その他の機能を思い出させる...
  • メール会話のすべての添付ファイルで(すべて)返信; 多くのメールに返信する すぐに; あいさつを自動追加 返信するとき; 件名に日付を追加...
  • 添付ファイルツール:すべてのメールのすべての添付ファイルを管理し、 自動デタッチ, すべて圧縮、すべての名前を変更、すべて保存...クイックレポート、 選択したメールを数える...
  • 強力な迷惑メール 習慣による; 重複するメールと連絡先を削除する... Outlookでよりスマートに、より速く、より良くすることができます。
ショットkutoolsの見通しkutoolsタブ1180x121
ショットkutoolsの見通しkutoolsプラスタブ1180x121
 
コメントを並べ替える
コメント (0)
まだ評価はありません。 最初に評価してください!
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所