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

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

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

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

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

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

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

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

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

Может ли мне кто-то помочь?
Заранее спасибо.
...
Рейтинг: 0 / 0
12.04.2007, 14:51
    #34456277
gacol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
подойдет?
...
Рейтинг: 0 / 0
12.04.2007, 14:58
    #34456306
Granata005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
Код: 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
12.04.2007, 14:59
    #34456308
gacol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
Обратил внимание на количество файлов. Получится 200 писем.
Может их по нескольку присоединять? Может их упаковать сначала?
...
Рейтинг: 0 / 0
12.04.2007, 15:02
    #34456322
Granata005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
А если отсылать кучу файлов из папки,то я юзаю свой скрипт по 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
12.04.2007, 15:04
    #34456335
Granata005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
gacolподойдет? Ты недопонял...или я... он слаживает в папку офиссного оутлука а не на винте...
...
Рейтинг: 0 / 0
12.04.2007, 17:08
    #34456843
Ruselus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация отправки собщений в MS Outlook. Поможет ли VBA?
Да, именно в папку MS Outlook.

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

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

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

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

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

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

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


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