[英]VBA can't find emails in outlook using .Find
我創建了一個在我的計算機上運行良好的宏。 當我在另一台計算機上上傳並運行它時,它找不到任何電子郵件。
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收件箱中看到它但我的宏卻找不到它(在我上傳宏的任何計算機上)。 但是,當我在原始計算機上運行程序時,我編寫了程序,它工作正常。 不確定問題是什么。
嘗試搜索PR_NORMALIZED_SUBJECT MAPI屬性:
set olMi = olItms.Find("@SQL=""http://schemas.microsoft.com/mapi/proptag/0x0E1D001F"" = '" & subj & "'")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.