微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何引用指定帐户中的文件夹?

如何解决如何引用指定帐户中的文件夹?

我正在尝试输出给我发送电子邮件的每个人的列表,以及他们发送的电子邮件数量

我在 Outlook 上设置了两个电子邮件帐户(帐户 A 和帐户 B)。下面的 VBA 从帐户 A 的收件箱文件夹中输出用户数。

有没有办法从帐户 B 的名为“完成”的文件夹中检索这些数据?

Sub CountInBoxEmailsbySender()
    Dim objdictionary As Object
    Dim objInBox As Outlook.Folder
    Dim i As Long
    Dim objMail As Outlook.MailItem
    Dim strSender As String
    Dim objExcelApp As Excel.Application
    Dim objExcelWorkbook As Excel.Workbook
    Dim objExcelWorksheet As Excel.Worksheet
    Dim varSenders As Variant
    Dim varItemCounts As Variant
    Dim nLastRow As Integer
 
    Set objdictionary = CreateObject("Scripting.Dictionary")
    Set objInBox = outlook.application.Session.Accounts.Item("[email protected]")
    
    For i = objInBox.Items.Count To 1 Step -1
        If objInBox.Items(i).Class = olMail Then
           Set objMail = objInBox.Items(i)
           strSender = objMail.SenderEmailAddress
 
           If objdictionary.Exists(strSender) Then
              objdictionary.Item(strSender) = objdictionary.Item(strSender) + 1
           Else
              objdictionary.Add strSender,1
           End If
        End If
    Next

    Set objExcelApp = CreateObject("Excel.Application")
    objExcelApp.Visible = True
    Set objExcelWorkbook = objExcelApp.Workbooks.Add
    Set objExcelWorksheet = objExcelWorkbook.Sheets(1)
 
    With objExcelWorksheet
         .Cells(1,1) = "Sender"
         .Cells(1,2) = "Count"
    End With
 
    varSenders = objdictionary.Keys
    varItemCounts = objdictionary.Items
 
    For i = LBound(varSenders) To UBound(varSenders)
        nLastRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
        With objExcelWorksheet
             .Cells(nLastRow,1) = varSenders(i)
             .Cells(nLastRow,2) = varItemCounts(i)
        End With
    Next
 
    objExcelWorksheet.Columns("A:B").AutoFit

End Sub

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。