【发布时间】:2017-04-26 14:37:59
【问题描述】:
我需要使用 Excel VBA 在 Outlook 中指定嵌套文件夹的帮助。我将在下面发布我正在使用的代码。
我可以指定“收件箱”文件夹,但是当我尝试指定“收件箱”文件夹中的文件夹时,代码会返回“无此类文件夹”消息。
有谁知道为什么这会发生在我身上?如果是这样,我该如何解决?
Option Explicit
Sub HowManyEmails()
Dim objOutlook As Object, objnSpace As Object, objFolder As Object
Dim EmailCount As Integer
Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
On Error Resume Next
Set objFolder = objnSpace.Folders("NoctalkSW").Folders("Inbox")
If Err.Number <> 0 Then
Err.Clear
MsgBox "No such folder."
Exit Sub
End If
EmailCount = objFolder.Items.Count
Set objFolder = Nothing
Set objnSpace = Nothing
Set objOutlook = Nothing
[B2].Value = EmailCount
On Error Resume Next
Set objFolder =
objnSpace.Folders("NoctalkSW").Folders("Inbox").Folders("COMPLETED")
If Err.Number <> 0 Then
Err.Clear
MsgBox "No such folder."
Exit Sub
End If
EmailCount = objFolder.Items.Count
Set objFolder = Nothing
Set objnSpace = Nothing
Set objOutlook = Nothing
[B3].Value = EmailCount
End Sub
【问题讨论】:
-
不,这对我没有帮助。我需要在“收件箱”文件夹下指定一个嵌套文件夹。我在问您如何使用 Excel VBA 指定 Outlook 文件夹的层次结构。
-
你设置了 objnSpace = Nothing 然后尝试稍后使用 objnSpace
-
你能解释一下你在代码中试图做什么吗?
-
这行代码有效:Set objFolder = objnSpace.Folders("NoctalkSW").Folders("Inbox") 但是这行代码无效 objnSpace.Folders("NoctalkSW").Folders("收件箱").Folders("COMPLETED")。当我尝试访问低于 Outlook 二级文件夹的文件夹时,代码返回“无此类文件夹”消息。这更有意义吗?
-
还有一个我忘了问的快速问题,您是在使用默认收件箱还是共享收件箱?