VBA无法使用.Find查找Outlook中的电子邮件

我创build了一个在我的电脑上很好用的macros。 当我在另一台电脑上传并运行它时,找不到任何电子邮件。

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 

我给自己发了一封名为“testing邮件”的电子邮件,我可以在Outlook收件箱中看到它,但是我的macros永远找不到(在任何一台我上传macros的计算机上)。 但是,当我在原来的计算机上运行该程序,我写了该程序,它工作正常。 不太确定问题是什么。

尝试searchPR_NORMALIZED_SUBJECT MAPI属性:

 set olMi = olItms.Find("@SQL=""http://schemas.microsoft.com/mapi/proptag/0x0E1D001F"" = '" & subj & "'")