首页 > 解决方案 > VBA 代码在远程桌面上无法正常运行

问题描述

我有一些 Excel VBA 代码可以搜索 Outlook 共享子文件夹并检索数据或回复选定的电子邮件。当代码试图将 Outlook 子文件夹分配给变量时,会出现此问题。在远程桌面上运行时,Excel 或代码不知何故无法识别子文件夹。

如果代码在本地计算机(运行 Windows 10)上运行,一切正常,但在远程桌面(运行 Windows 7)上运行时会失败。所有计算机都运行 Office 2016。

我已进入每一行代码,并确定该代码能够读取电子邮件帐户、收件箱文件夹,但无法读取子文件夹。

Sub DataExtract_Template()

Application.DisplayAlerts = False
Application.ScreenUpdating = False

Dim myOlApp As Outlook.Application
Dim myNameSpace As Outlook.Namespace
Dim objOwner As Outlook.Recipient
Dim topOlFolder As Outlook.MAPIFolder
Dim attach As Outlook.Attachment


Dim fdr_Unprocessed As Outlook.MAPIFolder
Dim fdr_Pending As Outlook.MAPIFolder
Dim fdr_Processed As Outlook.MAPIFolder


Set myNameSpace = Outlook.Application.GetNamespace("mapi")    
Set objOwner = myNameSpace.CreateRecipient("xxxxxx@xxx.com")
    objOwner.Resolve

If objOwner.Resolved Then

Set topOlFolder = myNameSpace.GetSharedDefaultFolder(objOwner, olFolderInbox)

End If

'this is where the code errors out as it can't seem to find the subfolders,  but it can recognize the shared folders inbox

Set fdr_Unprocessed = topOlFolder.Folders("RMA - Unprocessed") 
Set fdr_Pending = topOlFolder.Folders("RMA - Pending")
Set fdr_Processed = topOlFolder.Folders("RMA - Processed")

当代码尝试将子文件夹设置为变量时,我收到的错误消息是:

运行时错误“-2147221233 (8004010f)”:尝试的操作失败。找不到对象。

如果您需要任何其他信息,请告诉我。

标签: excelvbaoutlook

解决方案


推荐阅读