【问题标题】:How to find a specific folder?如何找到特定的文件夹?
【发布时间】:2015-08-04 15:05:26
【问题描述】:

我有一个子来阅读/获取特定文件夹中的电子邮件项目。

找不到文件夹。

Sub HowManyEmails()

    Dim objOutlook As Object, objnSpace As Object, objFolder As MAPIFolder
    Dim EmailCount As Integer
    Set objOutlook = CreateObject("Outlook.Application")
    Set objnSpace = objOutlook.GetNamespace("MAPI")

    On Error Resume Next
    Set objFolder = objnSpace.folders("#MemoScan")
    If Err.Number <> 0 Then
        Err.Clear
        MsgBox "No such folder."
        Exit Sub
    End If

    EmailCount = objFolder.Items.Count

    MsgBox "Number of emails in the folder: " & EmailCount, , "email count"

    Set objFolder = Nothing
    Set objnSpace = Nothing
    Set objOutlook = Nothing
End Sub

它返回内置消息“没有这样的文件夹。”。

我的文件夹结构:

我怎样才能得到那个文件夹?

【问题讨论】:

  • 您实际上可能会检查 Err.Number 以确定返回的内容。您还可以检查 objFolder 是否包含对象引用或真的是“无”。失败可能是也可能不是由于无法找到目标文件夹。现在,您假设失败是“未找到”。可能不是。
  • @DavidW 我打印了错误:The operation failed. Can't find a object。在调试器中检查 objFolder 时,返回Nothing
  • @Nicolas 够好了。我会尝试将文件夹调用的路径更改为“#MemoScan/Inbox”,看看是否有帮助。
  • 感谢 Kaybee99 的链接。似乎该文件夹首先必须查找William,然后再查找#MemoScan 文件夹!谢谢大家!

标签: vba outlook directory


【解决方案1】:

感谢以下链接: Get MAPI Folder in Outlook from Folder Path

通过右键单击文件夹,我可以看到实际位置在 William 上,而不是直接在文件夹上。所以正确的代码是:

Set objFolder = objnSpace.folders("William").folders("#MemoScan")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-29
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 2018-04-25
    • 1970-01-01
    相关资源
    最近更新 更多