0

我编写了一个宏,它可以访问 Outlook 上的文件夹,遍历该文件夹中的所有电子邮件,提取某些内容,然后将每封电子邮件移动到另一个文件夹(因此我们知道它已被处理)。我正在执行以下操作来访问文件夹(请注意,此宏正在 Excel 2016 中运行,我们正在访问 Outlook 2016)

Dim OutlookApp As Outlook.Application
Dim OutlookNamespace As Outlook.Namespace
Dim Folder As Outlook.Folder
Dim OutlookMail As Outlook.MailItem
Dim ExtractedFolder As Outlook.Folder

Set OutlookApp = New Outlook.Application
Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")

Set sharedemail = olNS.CreateRecipient("ABC@company.com")

Set Folder = OutlookNamespace.GetSharedDefaultFolder(sharedemail, olFolderInbox).Folders("ToBeExtracted") 

Set ExtractedFolder = OutlookNamespace.GetSharedDefaultFolder(sharedemail, olFolderInbox).Folders("Extracted")

我已经在 4 台不同的机器上对此进行了测试,它工作得很好,但是由于某种原因,当我在同事的机器上运行它时,我们得到了错误:系统错误 &H8004010F (-2147221233)。

请注意,我也尝试过使用

Set Folder = OutlookNamespace.GetDefaultFolder(olFolderInbox).Folders("ToBeExtracted")
Set ExtractedFolder = OutlookNamespace.GetDefaultFolder(olFolderInbox).Folders("Extracted")

没有尝试使用在GetSharedDefaultFolder与以前相同的机器上再次工作但在我的同事机器上给出完全相同的错误的功能。我想使用它的原因是因为最终我的同事将在共享邮箱上使用此宏,但无论我尝试将其定向到共享邮箱还是默认邮箱,它都不起作用。我已经仔细检查过,该文件夹肯定存在于我同事的 Outlook 中。

我真的不知道是什么原因造成的,我尝试在互联网上找到类似的东西,但找不到适合我的解决方案,也找不到任何有相同错误的人(只有类似的错误代码)。如果有人可以指导我解决问题的原因以及我如何解决它,我将非常感激。

编辑:我尝试运行以下命令:

Range("A2") = OutlookNamespace.GetSharedDefaultFolder(sharedemail, olFolderInbox)

它将 A2 的值设置为“收件箱”,但如果我尝试访问收件箱中的任何电子邮件,它不会让我访问。我再次尝试在我自己的机器上运行它并且它工作并且能够访问我的收件箱中的电子邮件内容

4

0 回答 0