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

Подскажите, как в 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
17.02.2011, 01:33
    #37121354
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Outlook программно выполнить процедуру "Доставить почту" ?
авторМожно конечно настроить сам клиент Outlook, чтобы почта отправлялась сразу, но этот вариант не подходит.
Полагаю, что проблема именно в этом.
зы
Для оформления кода используйте тег SRC.
...
Рейтинг: 0 / 0
17.02.2011, 09:36
    #37121540
Yuri KR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Outlook программно выполнить процедуру "Доставить почту" ?
Здравствуйте, а подробнее можно?
...
Рейтинг: 0 / 0
17.02.2011, 14:24
    #37122398
Yuri KR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Outlook программно выполнить процедуру "Доставить почту" ?
Добрый день,
Напишу чуть по другому.

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

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

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

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

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


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

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
17.02.2011, 15:07
    #37122577
Yuri KR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Outlook программно выполнить процедуру "Доставить почту" ?
Так в том и дело, что у меня 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
17.02.2011, 20:16
    #37123251
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Outlook программно выполнить процедуру "Доставить почту" ?
Вы этот код из аутлука что ли вызываете ?
Тут рядом есть топик с отправкой почты через CDO.
ps
Еще раз - для форматирования кода используйте тег SRC.
...
Рейтинг: 0 / 0
22.02.2011, 16:36
    #37130882
Yuri KR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Outlook программно выполнить процедуру "Доставить почту" ?
Спасибо всем кто откликнулся - все реализовал, вопрос закрыт.
Если кому нужны детали, могу написать.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как в Outlook программно выполнить процедуру "Доставить почту" ? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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