powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Достать письма из Outlook по определённой дате без перебора
3 сообщений из 3, страница 1 из 1
Достать письма из Outlook по определённой дате без перебора
    #36844549
Rojohn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго утра всем!
Есть задачка: никак не могу достать почту Outlook кодом VBA по определённой дате без перебора в цикле всех Items папки. Вроде как можно поставить фильтр и я уже почти нашёл решение, но с синтаксисом не лады. Вот так пока получилось, но не находит ничего:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
For Each Fldr In myFolder.Folders 'Цикл по вложенным папкам (Входящие, Исходящие)
      If Fldr.DefaultItemType = olMailItem Then
        Filter = "[ReceivedTime] = #" & Format(dat, "MM\/dd\/yyyy") & "#"
        If Fldr.Items.Count <>  0  Then
          Set myOLItems = Fldr.Items.Restrict(Filter)
          Debug.Print myOLItems.Count

          For Each myItem In myOLItems
            With myItem 'Новое письмо
               ...


Поправьте, будьте так любезны - очень нужно!
Спасибо заранее!
...
Рейтинг: 0 / 0
Достать письма из Outlook по определённой дате без перебора
    #36844579
Rojohn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот строчка более-менее правильная:

Код: plaintext
Filter = "[ReceivedTime] = '" & Format(dat, "yyyy-mm-dd") & "'"

Но чтобы выполнялось равенство, надо убрать время из [ReceivedTime] и привести его к виду "yyyy-mm-dd". Но Format не ставится к [ReceivedTime] ! Может как-то ещё можно?
...
Рейтинг: 0 / 0
Достать письма из Outlook по определённой дате без перебора
    #36844594
Rojohn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за внимание, но я уже нашёл решение:

Код: plaintext
Filter = "([ReceivedTime] > '" & Format(DateAdd("d", - 1 , dat), "dd.MM.yyyy") & "') AND ([ReceivedTime] < '" & Format(DateAdd("d",  1 , dat), "dd.MM.yyyy") & "')"
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Достать письма из Outlook по определённой дате без перебора
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]