В настоящее время я разрабатываю приложение 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
Без MSGBox + Debug