Я пытаюсь создать кусок кода, который отслеживает входящие почтовые ящики для определенного письма (код отправляет электронное письмо на свой собственный адрес электронной почты и ожидает получения этого сообщения) , Мне нужно иметь возможность искать почтовый ящик для определенной темы.VB.NET - Поиск темы электронной почты Outlook
Я взял посмотреть на единственный уместный вопрос я мог бы найти здесь - Searching For Phone Numbers In Email Subject, но он не компилируется в VB.NET, строку:
Set sch = Application.AdvancedSearch(strS, strF)
не согласился с.
Есть ли способ сделать это? Моя цель - отправить электронное письмо и периодически запускать этот код на BackgroundWorker
до тех пор, пока не будет видно электронное письмо (тайм-аут после стольких попыток). Я просто не могу найти способ прочесть тему.
Заранее спасибо
Edit 1
Просто прояснить, что вопрос:
Visual Studio автоматически удаление set
. Проблема с Application.AdvancedSearch
, я получаю ошибку:
'AdvancedSearch' is not a member of 'Systems.Windows.Form.Application'
Edit 2
Обновленный код этого:
Sub TestAdvancedSearchComplete()
Dim ap As Outlook.Application
Dim sch As Outlook.Search
Dim rsts As Outlook.Results
Dim i As Integer
blnSearchComp = False
Const strF As String = "urn:schemas:mailheader:subject LIKE '%###%'"
Const strS As String = "Inbox"
sch = ap.AdvancedSearch(strS, strF)
While blnSearchComp = False
Application.DoEvents()
End While
rsts = sch.Results
For i = 1 To rsts.Count
MsgBox(rsts.Item(i).SenderName)
Next
End Sub
код теперь компиляции ОК, но показывает, что ap
имеет еще не назначено значение, я думаю, мне нужно присвоить ему значение, ссылающееся на приложение Outlook?
Вы пытались заменить 'Set' на' Dim'? –
@ProGrammer См. Обновленный вопрос – SilverShotBee
Приложение относится к экземпляру объекта Ouitlook.Application. Вы объявили и инициализировали этот объект? –