powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
10 сообщений из 10, страница 1 из 1
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
    #34455675
Ruselus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Помогите плиз советом или скриптиком на VBA.

Довольно регулярно (раз в неделю) приходится пересылать большое количество писем (200-250 штук) одному и тому-же адресату.

Т.е. дело происходит так: в течении недели мне кураторы договоров присылают различную информацию. Присылают разные люди, в теле заголовка никаких четких ассоциаций нет, т.е. сразу настроить правило чтобы автоматом пересылалось на определенный адрес - не получается.
В течении недели я в ручную все эти письма складываю в отделюную папку а в конце недели, должен переслать моему сотруднику, для того чтобы он их обработал.

Ну и вот для пересылки приходится делать следуюшие действия:
Ctrl+F (переслать) => Ctlr+V (Вставить адрес сотрудника) => Ctrl+Enter (отправить) => Down (Перейти к след. письму)
и так до конца списка.

Утомляет, отнимает до 20 минут рабочего времени.

Как бы это автоматизировать?

Путей вижу 2:
1. Настроить правило, чтобы оно письма лежащие в определенной папке (либо выделенные) и не прочитанные пересылалло бы по определенному адресу. Чтобы правило можно было запускать в ручную. Но там нет такого условия, чтобы натравить его на отдельную папку. М.б. есть еще какой-то выход?

2. Написать на VBA скриптик, который делал бы тоже самое над выделенными письмами. Но с VBA увы дружу слабо (в Excel'е еще что-то писал для обработки ячеек, но команды и функции для Outlook не знаю вовсе)

Может ли мне кто-то помочь?
Заранее спасибо.
...
Рейтинг: 0 / 0
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
    #34456277
gacol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подойдет?
...
Рейтинг: 0 / 0
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
    #34456306
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Sub ssd()
Dim myOlApp As New Outlook.Application
    Dim myOlExp As Outlook.Explorer
    Dim myOlSel As Outlook.Selection
    Dim MsgTxt, ToWho As String
    Dim x As Integer
    MsgTxt = "You have selected items from: "
    Set myOlExp = myOlApp.Explorers.Item( 1 )
    
    Set myOlSel = myOlExp.Selection
    ToWho = InputBox("Введите адрессата для выбранных сообщений")
    For x =  1  To myOlSel.Count
          myOlSel.Item(x).To = ToWho
          myOlSel.Item(x).Save
         'myOlSel.Item(x).Send 'отправлять лучше пересылкой в исходящие - вручную
  Next x
End Sub
...
Рейтинг: 0 / 0
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
    #34456308
gacol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обратил внимание на количество файлов. Получится 200 писем.
Может их по нескольку присоединять? Может их упаковать сначала?
...
Рейтинг: 0 / 0
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
    #34456322
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если отсылать кучу файлов из папки,то я юзаю свой скрипт по SMTP.....


Код: plaintext
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.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
Dim iMsg
Dim iBp
Dim Flds
Dim Subj
Dim TextB
Dim ToWho


Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/cdoSendUsingMethod"
Const cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/cdoSendPassword"
Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const smtpserverport = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const CdoSendUsing = "http://schemas.microsoft.com/cdo/configuration/sendusing"


Dim iConf
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
'Flds(cdoSendUsingMethod) = 2 
'Flds(cdoSMTPServer) = "MySMTPServer"
'Flds(smtpserverport) = 25
'Flds("cdoSMTPAuthenticate") = 0 
Flds.Update

ToWho = InputBox("Введите адрессата")
Subj = InputBox("Введите тему сообщения")
TextB = InputBox("Введите текст сообщения")
FolderPath=InputBox("Введите путь к файлам, к примеру: C:\windows\")


Dim fso, fld, f1, fc, s, FolderPath
Set fso = CreateObject("Scripting.FileSystemObject")

if FolderPath <> "" then 
Set fld = fso.GetFolder(FolderPath)
Set fc = fld.Files





For Each f1 In fc
s =FolderPath & f1.Name
iMsg=null

Set iMsg = CreateObject("CDO.Message")

With iMsg
Set .Configuration = iConf
.To = ToWho
.From = "radgdf@sdfs.ru"
.Sender = "авпукук"
.Subject = Subj
.TextBody = TextB
Set iBp = .AddAttachment(s)
iBp.ContentMediaType="application/msword"
.Send
End With
Msgbox s
Next

end if
...
Рейтинг: 0 / 0
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
    #34456335
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gacolподойдет? Ты недопонял...или я... он слаживает в папку офиссного оутлука а не на винте...
...
Рейтинг: 0 / 0
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
    #34456843
Ruselus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, именно в папку MS Outlook.

Отсылать по несколько сообщений внутри другого не удобно, т.к. потом по теме в процессе работы регулярно поиск приходится делать.
Это раз, а во-вторых у нас в сети установлен максимальный размер почтового сообщений 8Мб.
Бфывает что пакет документов к тому или иному договору приближается вплотную к 8Мб. Т.е. чтобы объединять их, еще и размер надо будет контролить.

Сейчас попробую то что дали, по результатам отпишусь.

Спасибо.
...
Рейтинг: 0 / 0
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
    #34457061
Ruselus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, изучил...

Sub ssd() - то что мне как раз и надо, но что-то не работает.

Как я понял, он должен после запроса адресата:
1. Создать сообщение функцией "Переслать" - в скрипте видимо отсутсвует.
2. В поле "Кому" вставить значение переменной ToWho
3. Сохранить (как я понимаю в черновиках) либо отправить (если снять коммент со след. строки) получившееся сообщение.

Но судя по всему, первого действия не хватает, поэтому ничего не происходит.

Не понял что хранится в переменной myOlExp.
И почему "отправлять лучше пересылкой в исходящие - вручную"? Глючит? Если да - тогда какой смысл скрипта?
...
Рейтинг: 0 / 0
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
    #34458017
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Granata005
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub ssd()
Dim myOlApp As New Outlook.Application   ' переменная оутлука
    Dim myOlExp As Outlook.Explorer        ' переменная папки оутлука
    Dim myOlSel As Outlook.Selection     ' переменная выделенных сообщений оутлука
    Dim ToWho As String
    Dim x As Integer
    Set myOlExp = myOlApp.Explorers.Item( 1 )  'выбираем одну из выделенных папок оутлука
    Set myOlSel = myOlExp.Selection              'выбираем выделенные сообщения
    ToWho = InputBox("Введите адрессата для выбранных сообщений")
    For x =  1  To myOlSel.Count      'во всех выделенных сообщениях выполнить
          myOlSel.Item(x).To = ToWho       'проставить адрессата
          myOlSel.Item(x).Save                 'сохранить письмо
         'myOlSel.Item(x).Send 'отправлять лучше пересылкой в исходящие - вручную
  Next x
End Sub


можешь ещё чего-нибудь в цикле добавить.. например тему проставить...

а скрипт тот он для других целей - он не работает с оутлуком, а отсылает все файлы одному адресату из папки.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
    #36714646
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Granata005, скажите пожалуста, код ВБА, у которого строки кода:
FolderPath = InputBox("Введите путь к файлам, к примеру: C:\windows\")
Dim fso, fld, f1, fc, s, FolderPath
Идут в такой последовательности у Вас работает???
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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