繁体   English   中英

如何访问共享邮箱中的电子邮件?

[英]How to access emails in shared mailbox?

我在 Outlook 中有两个帐户,一个是我的个人帐户,另一个是共享帐户。
我想阅读或未读我的共享邮箱的电子邮件。

我有与我的个人收件箱配合使用的代码。

我的共享电子邮件组显示
自动化错误弹出窗口

Sub OutlookTesting()
    Dim folders As Outlook.folders
    Dim Folder As Outlook.MAPIFolder
    Dim iRow As Integer
    Dim Pst_Folder_Name
    Dim MailboxName
    Dim UnRow As Integer
    Dim RESS As Outlook.Recipient
    Dim Flag As Integer
    
    'Mailbox or PST Main Folder Name (As how it is displayed in your Outlook Session)
    MailboxName = "Dummi@abc.com" 'Mailbox Folder or PST Folder Name (As how it is displayed in your Outlook Session)
    Pst_Folder_Name = "Inbox"
    
    ' subfolder name
    Dim subFolderName As String
    subFolderName = "XYZ"
    
    Set Folder = Outlook.Session.folders(MailboxName).folders(Pst_Folder_Name)
    If Folder = "" Then
        MsgBox "Invalid Data in Input"
        GoTo end_lbl1:
    End If
    
    'Read Through each Mail and export the details to Excel for Email Archival
    For iRow = 1 To Folder.Items.Count
        If (Folder.Items(iRow).UnRead) Then
            Flag = 0
            Set Res = Folder.Items(iRow).Recipients
                For Each RESS In Res
                    If RESS.Name = "ABCD" Or RESS.Name = "PQRS" Then
                      Flag = 1
                    End If
                Next
                If Flag = 1 Then
                    Folder.Items(iRow).UnRead = True
                Else: Folder.Items(iRow).UnRead = False
                End If
            End If
        Next iRow
        MsgBox "Outlook Mails Extracted to Excel"
end_lbl1:
End Sub

嗨,您可以尝试使用以下代码(我已经编辑了您上面发布的代码)并根据您的需要删除了异常代码。

Sub OutlookTesting()
Dim folders As Outlook.folders
Dim folder As Outlook.MAPIFolder
Dim iRow As Integer
Dim Pst_Folder_Name
Dim MailboxName
Dim UnRow As Integer
Dim RESS As Outlook.Recipient
Dim Flag As Integer
Dim olApp As Outlook.Application
Dim olNS As Outlook.Namespace
Dim olfldr As Outlook.MAPIFolder
Dim foldername As Outlook.MAPIFolder
Dim sharedemail As Outlook.Recipient


Set olApp = New Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
Set sharedemail = olNS.CreateRecipient("youremail@abc.com")
Set olfldr = olNS.GetSharedDefaultFolder(sharedemail, olFolderInbox)


Set folder = olfldr

If folder = "" Then
   MsgBox "Invalid Data in Input"
   GoTo end_lbl1:
End If

'Rad Through each Mail and export the details to Excel for Email Archival

For iRow = 1 To folder.Items.Count
    If (folder.Items(iRow).UnRead) Then
        Flag = 0
        Set Res = folder.Items(iRow).Recipients
            For Each RESS In Res
                If RESS.Name = "XYZ" Or RESS.Name = "ABC" Then
                  Flag = 1
                End If
            Next
            If Flag = 1 Then
                  folder.Items(iRow).UnRead = True
                    Else: folder.Items(iRow).UnRead = False
                End If
    End If
Next iRow
MsgBox "Outlook Mails Extracted to Excel"
end_lbl1:
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM