powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как в Outlook программно выполнить процедуру "Доставить почту" ?
8 сообщений из 8, страница 1 из 1
Как в Outlook программно выполнить процедуру "Доставить почту" ?
    #37121228
Yuri KR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,

Подскажите, как в Outlook программно выполнить процедуру "Доставить почту"?

Программно создаю и отправляю сообщения, но сообщения попадают в папку "Исходящие".
Как сделать, чтобы из кода VBA сообщение сразу доставлялось во "Входящие" ?

Можно конечно настроить сам клиент Outlook, чтобы почта отправлялась сразу, но этот вариант не подходит.

В поиске нашел пару вариантов, но к сожалению не получается связать все воедино, чтобы получить рабочий код.
Может кто подскажет, ниже привожу свой код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Sub SendMessage()
    Dim objOutlook As Outlook.Application
    Dim objRecipient As Recipients
    Dim objAttachment As ATTACHMENT
    Dim objMailItem As MailItem
    Dim strEmail_Address As String
    
    Set objMailItem = Outlook.Application.CreateItem(olMailItem)
    
    With objMailItem
        
        strEmail_Address = "test@rambler.ru"
        .To = strEmail_Address
        .Subject = "Here is my test messages for your review"
        .Body = "Privet!!!" & vbCrLf & vbCrLf
        .Importance = olImportanceHigh

        Set objAttachment = .Attachments.Add("D:\55.TXT")
   
        .Display
        .Send
        
     End With
 End Sub
...
Рейтинг: 0 / 0
Как в Outlook программно выполнить процедуру "Доставить почту" ?
    #37121354
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМожно конечно настроить сам клиент Outlook, чтобы почта отправлялась сразу, но этот вариант не подходит.
Полагаю, что проблема именно в этом.
зы
Для оформления кода используйте тег SRC.
...
Рейтинг: 0 / 0
Как в Outlook программно выполнить процедуру "Доставить почту" ?
    #37121540
Yuri KR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, а подробнее можно?
...
Рейтинг: 0 / 0
Как в Outlook программно выполнить процедуру "Доставить почту" ?
    #37122398
Yuri KR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,
Напишу чуть по другому.

Есть некоторая проблема при автоматизации отправки писем через Оutlook с помощью кода VBA.
Дело в том, что письма отправленные с помощью кода попадают в Исходящие и там находятся пока их вручную не отправишь?
Можно конечно настроить сам клиент на немедленную отправку, но это не устраивает.

Как сделать, чтобы письма программно отправлялись и не задерживались в Исходящих? Т.е чтобы принудительно в коде прописать нажатие клавиши F9 или принудительно (программно)выполнять команду Send/Receive ?

Посмотрите, пожалуйста, ссылку - нашел на сайте и использовал материал (код VBA).

http://wordexpert.ru/page/kak-otpravit-pismo-iz-word-pri-pomoshhi-vba

Как бы в него добавить недостающую часть кода, было бы идеально.
Может кто знает?
Заранее спасибо всем, кто откликнется.
...
Рейтинг: 0 / 0
Как в Outlook программно выполнить процедуру "Доставить почту" ?
    #37122428
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Yuri KR
> Дело в том, что письма отправленные с помощью кода попадают в Исходящие и там находятся пока их вручную не
> отправишь?


Эта проблема Оутлука. Если он не запущен, а ты делаешь на файле "Отправить адресату" то все письма попадают в Исходящие
и ждут пока запустят Оутлук. Тогда происходит отправка.
и я не знаю как перенастроить по другому, поэтому у меня _всегда_ запущен Оутлук

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как в Outlook программно выполнить процедуру "Доставить почту" ?
    #37122577
Yuri KR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так в том и дело, что у меня Outlook постоянно запущен.
И в это состоянии - все созданные и отправленные через VBA сообщения попадают в Исходящие.

Нашел тут код, который по идее должен помочь - но он пока не работает, не проходит компиляция некоторых строк.
(Set nsp = Application.GetNamespace("MAPI")
Может какую-то библиотеку не подключил, пока не пойму:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Public Sub Sync()
    Dim nsp As Outlook.NameSpace
    Dim sycs As Outlook.SyncObjects
    Dim syc As Outlook.SyncObject
    Dim i As Integer
    Dim strPrompt As Integer
    
    Set nsp = Application.GetNamespace("MAPI")
    Set sycs = nsp.SyncObjects
    For i =  1  To sycs.Count
        Set syc = sycs.Item(i)
        strPrompt = MsgBox("Do you wish to synchronize " & syc.Name & "?", vbYesNo)
        If strPrompt = vbYes Then
            syc.Start
        End If
    Next
End Sub
...
Рейтинг: 0 / 0
Как в Outlook программно выполнить процедуру "Доставить почту" ?
    #37123251
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы этот код из аутлука что ли вызываете ?
Тут рядом есть топик с отправкой почты через CDO.
ps
Еще раз - для форматирования кода используйте тег SRC.
...
Рейтинг: 0 / 0
Как в Outlook программно выполнить процедуру "Доставить почту" ?
    #37130882
Yuri KR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем кто откликнулся - все реализовал, вопрос закрыт.
Если кому нужны детали, могу написать.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как в Outlook программно выполнить процедуру "Доставить почту" ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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