VBA无法使用.Find在outlook中查找电子邮件

时间:2016-08-29 14:15:02

标签: excel vba outlook

我创建了一个在我的计算机上运行良好的宏。当我在另一台计算机上上传并运行它时,它无法找到任何电子邮件。

Set olApp = GetObject(, "Outlook.Application")
Set olNs = olApp.GetNamespace("MAPI")
Set olFldr = olNs.GetDefaultFolder(olFolderInbox)
Set olItms = olFldr.Items
Set olEmail = olApp.CreateItem(olMailItem)


 Set OutApp = CreateObject("Outlook.Application")
 Set OutMail = OutApp.CreateItem(0)


            subj = "Test email"

                Set olMi = olItms.Find("[Subject] = " & Chr(34) & subj & Chr(34))
              If Not (olMi Is Nothing) Then
                        For Each olAtt In olMi.Attachments
              Else
                  ' ends up here everytime

我给自己发了一封电子邮件,名为"测试电子邮件"我可以在我的Outlook收件箱中看到它但我的宏永远找不到它(在我上传宏的任何计算机上)。但是,当我在原始计算机上运行程序时,我编写了程序,它工作正常。不确定问题是什么。

1 个答案:

答案 0 :(得分:0)

尝试搜索PR_NORMALIZED_SUBJECT MAPI属性:

Foo foo = MyRegistry.fromInt(15, Foo.class); // A