powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Прием почты через Outlook. Как отобразить окно "Ход отправки и получения сообщений" ?
2 сообщений из 2, страница 1 из 1
Прием почты через Outlook. Как отобразить окно "Ход отправки и получения сообщений" ?
    #38557226
Игорь_777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Народ, тема с приемом сообщений посредством Outlook неоднократно всплывает на различных тематических форумах. Вероятно, это единственный практически доступный срособ принять новую почту с сервера.
Я использую для этих целей вот такой исходник (извините, автора не помню, нарыл где-то...):

(Код расположен в форме с кнопкой CommandButton1.)

Public WithEvents oItems As Outlook.Items

Private Sub CommandButton1_Click()
' запускаем Outlook
Dim oOutlook As New Outlook.Application

' Очень важно: объясняем, что события oItems - это события папки Inbox в Outlook
Set oItems = oOutlook.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Items

'Дальше просто запускаем прием почты со всех учетных записей
Dim oNameSpace As Outlook.Namespace
Set oNameSpace = oOutlook.GetNamespace("MAPI")
oNameSpace.SyncObjects("Все учетные записи").Start

End Sub

'… и ловим события появления нового сообщения

Private Sub oItems_ItemAdd(ByVal Item As Object)

MsgBox Item.To & " " & Item.Subject, , "Список новых писем "
End Sub


End Sub


Собственно, это основа. Но уже на этой стадии возникают некоторые неудобства. Пользователь не видит хода процесса получения почты, а при медленном соединении , да и при наличии ошибок можно ошибочно подумать, что новых писем нет.
Вот, собственно, вопрос: А можно ли вызывать окно "Ход отправки и получения сообщений", чтобы пользователь мог видеть процесс приема почты? И возможно ли получить код ошибки, если сообщения не были приняты/отправлены по причине сбоя связи или еще какого форс-мажора? Я, к сожалению, нашел недостаточно инфы по Outlook, чтоб решить эту задачу.
Если что, тыкните мордой в ссылку, где можно разрулить поставленную задачу. :)
...
Рейтинг: 0 / 0
Прием почты через Outlook. Как отобразить окно "Ход отправки и получения сообщений" ?
    #38557358
Игорь_777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот, накопал код, который, как я понимаю, аналогичен нажатию кнопки "Отправить и получить". Но он почему-то не фунциклирует так, как надо (или я этого не вижу...)) ).

Public Function SendReceiveAll() As Boolean

Dim oExplorer As Outlook.Explorer
Dim olNS As Outlook.NameSpace
Dim olFolder As Outlook.MAPIFolder
Dim oCtl As Office.CommandBarControl
Dim oPop As Office.CommandBarPopup
Dim oNS As Outlook.NameSpace
Dim oCB As Office.CommandBar
Dim oOutlookApplication As Outlook.Application

On Error Resume Next

Set oOutlookApplication = GetObject(, "Outlook.Application")
If oOutlookApplication Is Nothing Then
Err.Clear
On Error GoTo ErrorHandler
Set oOutlookApplication = _
CreateObject("Outlook.Application")
Set olNS = oOutlookApplication.GetNamespace("MAPI")
Set olFolder = olNS.GetDefaultFolder(olFolderInbox)
Set oExplorer = olFolder.GetExplorer
End If

On Error GoTo ErrorHandler
Set oCB = _
oOutlookApplication.ActiveExplorer.CommandBars("Standard")

Set oCtl = oCB.Controls("Send/Receive") ' переписал как "Отправить и получить"
oCtl.Execute
SendReceiveAll = True

ErrorHandler:

End Function


Взял код тут: http://www.freevbcode.com/ShowCode.asp?ID=2139

Догадываюсь, что используя объекты Outlook, можно добраться до любой кнопочки, и при этом получить необходимый результат. Но вот как знать, какие объекты юзать? И каковы их свойства? Буду исследовать объекты посредством окна Locals.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Прием почты через Outlook. Как отобразить окно "Ход отправки и получения сообщений" ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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