VB.NET работает по-разному при удалении окна сообщения - Приложение Outlook - PullRequest
0 голосов
/ 24 октября 2018

В настоящее время я разрабатываю приложение Outlook, которое, похоже, отлично работает во время тестирования.

Этот код работает, когда установлен MSGBox("ASDFG") (rsts.Count возвращает 1), нокак только оно удалено, оператор возвращает 0.Я попытался превзойти это, добавив Debug.Print, чтобы увидеть, если это что-то изменило, но я все еще нахожу, что код будет работать правильно, только когда MSGBox на месте.

Я даже добавилинтервал Timer1 для повторного запуска скрипта каждую секунду, если он возвращает 0.

Function myThread()
    Dim oApp As Outlook.Application = CreateObject("Outlook.application")
    Dim sch As Outlook.Search
    Dim rsts As Outlook.Results
    Dim i As Integer
    Dim myTaskSearch As String = ToolStripStatusLabel2.Text
    Dim strF As String = "urn:schemas:mailheader:subject LIKE '%Task: " & myTaskSearch & "%'"
    Const strS As String = "Inbox"

    Try
        sch = oApp.AdvancedSearch(strS, strF)
        rsts = sch.Results
        MsgBox("ASDFG")
        Debug.Print(sch.Results.ToString)
        Debug.Print("'" & myTaskSearch & "'")

        If rsts.Count = 0 Then
            Debug.Print(rsts.Count)
            Timer1.Interval = 1000
            Timer1.Start()
        End If
        For i = 1 To rsts.Count
            Debug.Print(i)
            Timer1.Stop()
            TabControl1.TabPages.Add(i)
            'rsts.Item(i).Body
            'rsts.Item(i).SenderName
        Next
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Function

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    myThread()
End Sub

С MSGBox

With MSGBox


Без MSGBox + Debug

Without MSGBox

1 Ответ

0 голосов
/ 24 октября 2018

Добавить обработчик событий, который будет вызываться после завершения поиска.Как сказал GSerg, AdvancedSearch является асинхронным, поэтому он все еще работает, когда ваш код печатает счет.

См. документацию для примера кода.

...