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

Задача: сканировать папку "Входящие", при нахождении письма его нужно переслать на фиксированный 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
Макрос VBA в Outlook для пересылки почты
    #39530678
wlad1164
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и еще небольшой вопрос, при отправке email для него устанавливается кодировка и формат по умолчанию, можно ли сюда
With objMail
.To = "test@test.ru "
.Body = message 'указывается текст письма
.Subject = nomer 'указывается тема письма
.Send

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

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

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

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


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