Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Макрос VBA в Outlook для пересылки почты / 5 сообщений из 5, страница 1 из 1
04.10.2017, 12:12
    #39530676
wlad1164
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос VBA в Outlook для пересылки почты
Добрый день!
Возникла необходимость обрабатывать электронные письма.

Задача: сканировать папку "Входящие", при нахождении письма его нужно переслать на фиксированный email адрес, изменив ТЕМУ письма, в зависимости от содержания поле "тема" входящего (не знаю, поймете ли вы меня) после этого переместив сообщение в подпапку "обработанно"

Пример: на почту в папку "входящие" пришло 2 сообщения:
1-Тема:"Forward SMS Анищенко Владислав" Текст:Текст сообщения1
2-Тема:"Forward SMS Киселев Павел" Текст:Текст сообщения2

Нужно отправить на email test@test.ru сообщения вида:
Тема: (если ТемаВходящего="Forward SMS Анищенко Владислав" то "1111", если ТемаВходящего="Forward SMS Киселев Павел" то "2222")
Сообщение: ТекстВходящего

Куря форум получилось сделать примерно такое:

В ThisOutlook
Код: vbnet
1.
2.
3.
Sub Application_NewMail()
    BaseCode
End Sub



В модуле:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
'Создаем глобальные переменные
    Dim nomer
    Dim message
    Dim prefix
Sub BaseCode()
  Dim myMail As Outlook.MailItem
  Set myMail = Application.CreateItem(olMailItem)
  For Each myMail In Application.ActiveExplorer.Selection
    theme = myMail.Subject                      '--Тема предыдущего письма
    message = myMail.Body                       '--Текст предыдущего письма
  Next
  
  
  
'Устанавливаем префикс
    prefix = "Forward SMS "
'Проверяем пользователя, если нет то не обрабатываем
If theme = prefix & "Анищенко Владислав" Then
    nomer = "1111"
    GoSMS
    Exit Sub
End If
If theme = prefix & "Киселев Павел" Then
    nomer = "2222"
    GoSMS
    Exit Sub
End If
End Sub



Sub GoSMS()
    Dim objOL As Outlook.Application
    Dim objMail As MailItem
    Set objOL = Outlook.Application
    Set objMail = objOL.CreateItem(olMailItem)
        With objMail
            .To = "test@test.ru"
            .Body = message                      'указывается текст письма
            .Subject = nomer                     'указывается тема письма
            .Send
        End With
    Set objMail = Nothing
    Set objOL = Nothing
End Sub





За код прошу не пинайте, собирал из кусков...

В текущем варианте макрос частично работает, т.е. отправляет сообщение с указанной темой и содержанием, но для его работы нужно предварительно выбрать сообщение в списке входящих, ну и после отправки сообщения на email нет условия переместить это сообщение в другую папку


Так же буду признателен если натолкнете на готовое решение (программу) которая умеет делать такую фильтрацию и пересылку email
...
Рейтинг: 0 / 0
04.10.2017, 12:16
    #39530678
wlad1164
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос VBA в Outlook для пересылки почты
и еще небольшой вопрос, при отправке email для него устанавливается кодировка и формат по умолчанию, можно ли сюда
With objMail
.To = "test@test.ru "
.Body = message 'указывается текст письма
.Subject = nomer 'указывается тема письма
.Send

как то добавить параметры со значениями
кодировка = utf-8
формат текста = обычный текст
...
Рейтинг: 0 / 0
04.10.2017, 12:46
    #39530703
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос VBA в Outlook для пересылки почты
wlad1164,

BodyFormat = olFormatPlain
...
Рейтинг: 0 / 0
04.10.2017, 13:35
    #39530737
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос VBA в Outlook для пересылки почты
wlad1164,

Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
04.10.2017, 19:22
    #39531060
wlad1164
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос VBA в Outlook для пересылки почты
Вроде разобрался своими силами)
Пойду тестить)))

По результам сообщу и если нужно поделюсь своими костылями)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Макрос VBA в Outlook для пересылки почты / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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