Всем привет. Есть задача, нужно обрабатывать письма из подключенного к Аутлуку доп почтового ящика. Писем в нем много (6-7т.) Сам перебор писем происходит быстро, но если добавлять условие проверки, то процесс заметно стопорится (~1,5т писем обрабатываются минут 7). Собственно вопрос – есть ли возможность как то сразу (одной командой) передать содержимое ящика в некий массив и в дальнейшем работать с ним? Пока только использую решение – проходя по каждому письму, загружая его содержимое в массив и далее обработка писем уже в массиве (необходимо переборку писем запускать несколько раз). Ну и отсечка по дате получения письма (очень старые не обрабатываю). Что посоветуете? Спасибо.
Собственно код:
Dim olApp As Outlook.Application
Dim oNameSpace As Object, oFolder As Object, oFolder_In As Object, oMail As Object
Set olApp = New Outlook.Application 'объект аутлука
Set oNameSpace = olApp.GetNamespace("MAPI")
Set oFolder = oNameSpace.Folders("Logistics") 'указатель на нужный почтовый ящик
Set oFolder_In = oFolder.Folders("Inbox") 'указатель на папку входящих писем выбранного почтового ящика
For Each oMail In oFolder_In.Items 'переборка всх писем
If InStr(oMail.Subject, "заказ № ") > 1 Then 'для тестов по номеру заказа в теме сообщения
'собственно после этой проверки резко снижается скорость обработки писем
'без этой проверки (сам цикл) по письмам бежит относительно шустро
End If
Next