Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Управление в маркетинге средствами электронной почты. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
101

Рассылкипоэлектроннойпочте—одинизнаиболееэффектив­ных способов продвижения продукта. Мы рассмотрим несколько способоврассылкиматериалов.Во-первых,мырассмотримвопрос формирования сообщения на основе более сложной логики, чем мыиспользоваливмакросе Новогоднего поздравления.Во-вторых, удобнорасполагатьматериалневкоде,невтелемакроса,чтоможет приредактированиивызыватьошибки,новпапкеЗаметки.Вэтом случаередактированиемможетзаниматьсянепрограммист.Далее, напрактикечастовозникаетситуация,когдатребуетсяразослатьма­териалвовложенныхфайлах.Мырассмотримитакуюзадачу.

Функции, выполняемыемакросом,определены в коммента­риях.Логикамакросанеусложняетсяизлишне,чтобынезатруд­нять восприятие. Листинг 21, вместе с тем, позволяетпредста­витьсебеобщиевозможностиподхода.
Листинг 21. Макрос формирования текста сообщения Sub ТренингПредложениеСложныйТекст() 'Функции ' создает Сообщение текст, которого берется из элемента Заметка ' и направляет его в адрес контактов в папке Тренинги, если Контакт имеет ' электронную почту ' Причем, если есть Имя, то обращение по имени ' в противном случае обращение - господа ' Если клиент не принимал участие в тренинге - один текст ' в противном случае - текст добавляется 'Блок объявлений Dim aOl As Outlook.Application Dim oNS As Outlook.NameSpace
'папки Dim oFNote As Outlook.MAPIFolder Dim oFlCn As MAPIFolder 'Объект - Папка MAPI
102
Dim oFN As MAPIFolder 'Папка Заметки ‘коллекции Dim cCn As Outlook.Items ‘Коллекция Контакты Dim cNotes As Outlook. 'Коллекция Заметки
'элементы Dim iCn As ContactItem 'Элемент Контакт Dim iM As MailItem 'Элемент Почтовое сообщение Dim iNote As NoteItem 'Элемент Заметка
‘переменные
Dim lt As String
Dim noteBody As String ‘Содержание письма, суть тело Заметки без FS Dim FS As String ‘первая строка Заметки
‘вспомогательные переменные Dim i As Integer ‘параметр цикла Dim iLT As Integer ‘позиция, с которой, собственно, начинается текст письма Dim nLT As Integer ‘число символов в письме
‘Блок присваивания значений переменным Set aOl = New Outlook.Application Set oNS = aOl.GetNamespace(«MAPI») Set oFlCn = aOl.GetNamespace(«MAPI»).Folders(«Личные папки») .Folders(«Контакты»).Folders(«Клиенты») Set oFN = aOl.GetNamespace(«MAPI»).Folders(«Личные папки») .Folders(«Заметки»)_.Folders(«1 Тренинги»).Folders(«МП»)
'коллекции Set cCn = oFlCn.Items Set cNotes = oFN.Items
'Элементы Set iCn = cCn.GetFirst ‘Set iNote = cNotes(“Для Ваших сотрудников и Ваших клиентов!”)
103
‘Цикл просмотра всех Контактов For Each iCn In cCn If iCn.Email1Address <> «» Then Set iM = Application.CreateItem(olMailItem) iM.To = iCn.Email1Address iM.Subject = “23 и 24 сентября Тренинг по машинописи!”
If InStr(1, iCn.Categories, «МП +») > 0 Then If iCn.NickName <> «» Then iM.Body = iCn.NickName & «!» & vbCrLf Set iNote = cNotes(“Вы принимали участи в моих Тренингках по машинописи.”) iM.Body = iM.Body & vbCrLf & iNote.Body Set iNote = cNotes(“Машинопись за один день”) iM.Body = iM.Body & vbCrLf & iNote.Body
Else
If iCn.NickName <> «» Then iM.Body = iCn.NickName & «!» & vbCrLf
Else
iM.Body = «Господа!» & vbCrLf
End If
Set iNote = cNotes(«Машинопись за один день») iM.Body = iM.Body & vbCrLf & iNote.Body
End If
iM.Save
End If Next End Sub
Автоматизацияпроцессаформированияконтента—этоочень хорошаяидея.Нооконтролерезультатовзабыватьнеследует.Ав­томатизация —это внутренний бизнес-процесс. Иеслион ока­жетсябесконтрльным,то оченьлегкопотерятьклиентов.Иеще раз следует подчеркнуть, что клиент должен чувствоватьобра­щениеименнокнему.Поэтомухорошейпрактикойбудетхотябы выборочноепрочтениеиредактированиеСообщений.
104

Выможетевестинесколькопроектов.Посколькусегодняне принятонаправлятьсообщениясвложеннымифайламибезявно­гонатосогласия,то перед тем, какнаправитьтакоесообщение необходимо получить это разрешение. Будем исходитьиз того, что ваши клиенты работают с электронной почтой правильно иизсодержанияполяТемаможнопонять,чтоотвастребуется. Однимизвозможныхподходоврешениязадачиможетбытьпол­наяавтоматизация процесса.Тоестьмакросдолженобработать событиеполучениясообщения с определеннымобразомоформ­леннымполемТема.Мыжерассмотримситуацию,когдасистема несмоглаобработатьситуациюинеобходимовпапкеВходящие выделить несколько сообщений, и в их адрес направить запро­шенную рассылку. Листинг 22 представляет макрос, обеспечи­вающийрассылкусообщенийсвложеннымифайлами.
Листинг 22. Рассылка сообщений с вложенными файлами Sub РассылкаВложений() 'Блок объявления переменных Dim aOl As Outlook.Application Dim oNS As Outlook.NameSpace 'объект NameSpace Dim oFIn As Outlook.MAPIFolder 'объект папка Входящие Dim oFCn As MAPIFolder 'объект папка MAPI
Dim cAt As Attachments 'коллекция вложений Dim oAt As Attachment 'объект вложение
Dim cCn As Outlook.items ‘коллекция Контактов Dim cM As Outlook.items ‘коллекция Сообщений электронной почты Dim cN As Outlook.items ‘коллекция Заметок Dim oE As Outlook.Explorer ‘элемент Проводник Dim oS As Outlook.Selection 'объект Выделенные элементы Outlook Dim iM As MailItem ‘элемент входящее Сообщение электронной почты
105
Dim iMR As MailItem ‘элемент ответное Сообщение электронной почты Dim iCn As Outlook.ContactItem 'элемент Контакт Dim стрПоиска As String ‘строка поиска АЭП Dim i As Integer ‘переменная цикла при считывании
‘Блок присваивания значений переменным Set aOl = New Outlook.Application Set oNS = aOl.GetNamespace(«MAPI») Set oFCn = aOl.GetNamespace(«MAPI»).Folders(«Личные папки») .Folders(«Контакты»).Folders(«Клиенты») Set oFIn = aOl.GetNamespace(«MAPI»).Folders(«Личные папки») .Folders(«Входящие») Set cM = oFIn.items Set cCn = oFCn.items ‘объектной переменной присваивается значение активного проводника Set oE = aOl.ActiveExplorer Set oS = oE.Selection ‘объект Выделенные элементы папки Входящие Set iM = cM.GetFirst Set iCn = cCn.GetFirst Обработчик: If oS.Count < 1 Then MsgBox “Отсутствуют выделенные сообщения”
Exit Sub End If
For Each iM In oS MsgBox «SenderEmailAddress - « & iM.SenderEmailAddress & vbCrLf & _«SenderName - « & iM.SenderName стрПоиска = «Email1Address = « & SenderEmailAddress Set iMR = CreateItem(olMailItem) Set cAt = iMR.Attachments cAt.Add «d:\УД\Рассылки\3 с Офис\Word Упр 2.doc» cAt.Add «d:\УД\Рассылки\3 с Офис\Word Упр 3.doc» cAt.Add «d:\УД\Рассылки\3 с Офис\Word Упр 4.doc»
106
cAt.Add «d:\УД\Рассылки\3 с Офис\Word Упр 5.doc» cAt.Add «d:\УД\Рассылки\3 с Офис\Word Упр 6.doc» cAt.Add «d:\УД\Рассылки\3 с Офис\Outlook Упр 1.doc» iMR.To = iM.SenderEmailAddress iMR.Subject = iM.Subject iMR.Body = iM.SenderName & vbCrLf iMR.Body = iMR.Body & «» iMR.Body = iMR.Body & «» iMR.Display iMR.Save
Next End Sub
Комментарии к макросу
Вмакросе используетсяобъектSelection —этовыделенные пользователем сообщения электронной почты, в адрес которых будетсделанарассылка.ВводятсяобъектAttachment—вложение иколлекциявложенийAttachments.Необходимобытьвниматель­нымприопределениипутикдокументам,которыеподлежатот­правке.В нашем случае они находятсяв папкеРассылки. Если запускаетсямакрос,нониодноизсообщенийневыделено,товы­даетсясообщениеотом,чтообъектSelectionпуст.
107

Любомусовременномуделовомучеловекунеобходимаце­ленаправленнаяработапоповышениюличнойэффективности. Нижебудут рассмотреныдва макроса, которыепризванысо­кратитьиздержки времени. Первый макрос может позволить преподавателюкаждыймесяцэкономитьдодвухчасоввреме­ни.Второймакрос,можетбыть,обещаетнестольсуществен­ныйвыигрыш,ноегоиспользованиетакжевесьмаполезно.
108


Преподаваниевбольшинствевысшихучебныхзаведенийис­ходитизГосударственногообразовательногостандарта.Наосно­вестандарта накафедрахразрабатываютсяучебные программы дисциплин.Профессор,ведущийкурс,разрабатываетпоследова­тельностьпрохождениядисциплины,наоснованиикоторойучеб­ныйотделвузаосуществляетпланированиеввидерасписанияза­нятий.
Не во всех вузах применяется электронный документоо­борот,поэтомуможетвозникнутьзадачапереносарасписания занятийсбумажногоносителявперсональныйкомпьютерили карманныйперсональныйкомпьютер(КПКилиPDA).Дляре­шения такой задачи может быть использовано предлагаемое приложение.
ФрагментрасписаниязанятийвформетаблицыExcelпред­ставленнарисунке28.Созданиетакойтаблицынепредставляет никакого труда. Отметим лишь две особенности. Во-первых, на рисункевышетаблицы можно увидеть командную кнопку
ПередатьвOutlook.Во-вторых, нижетаблицыможно видеть Командную панельVisualBasic,котораянеобходимадляработы
сЭлементами управленияисобытиями,связанными,вчастно- сти,сманипуляциямисэтимиЭлементами управления.
Еслипреподавательпринимаетучастие в несколькихпроек­тах,товозникаетопасностьнакладок.Исогласованиерасписаний потребуетвремени.Еслижевсе расписанияпередатьв Outlook, то накладки будут выявлены автоматически. Кроме того, пред­ставления Outlook позволяют манипулировать расписаниями вболееудобныхформатах.
Нашазадачабудетсостоятьвтом,чтобыпередатьрасписа­ниеслистаExcelвКалендарьOutlook.Естественноэтотпро­цессбудетавтоматизированспомощьюмакроса.Дляудобства пользователязапускмакросабудетосуществлятьсяспомощью команднойкнопки,которуюмырасположимналистеExcel.
109
Рис. 28. Расписаниезанятий


Выполнитьпоследовательностькоманд1.
МенюВидПанелиинструментовVisualBasic
НаэкранепоявитсяКомандная панельVisualBasic(рис.28).
Щелкнутьпокнопке2. Режим конструктора
.
Станут активными все кнопки Командной панели Visual Basic.
Щелкнутьпокнопкепанели3. Элементы управления
НаэкранепоявитсяпанельЭлементы управления(рис.29).
Рис. 29. Панельэлементовуправления
.
110
Панель Элементы управления, видимо, будет иметь иные геометрическиепропорции.Нампоказалось,чтолучшимибудут именнопредставленныепропорции.
Перетащитькоманднуюкнопкунарабочийлист.4. Определитесвойства5. Командной кнопки.
Дляэтогонеобходимощелкнутьправойкнопкоймышипосоз­даннойвамикнопкенарабочемлистеивКонтекстном менювы- братьопциюСвойства (рис.30).
Рис. 30. ОпределениесвойствКомандной кнопки
Нарисунке31представленапанельопределениясвойствак­тивного Элемента управления. Такие свойства, как положение на рабочем листе (Top, Left), геометрические размеры (Width,
Height),лучше определятьс помощьюмыши (перетаскиваяКо­мандную кнопкувнужноеместоэкранаилиизменяяееразмеры).
Нас же прежде всегобудут интересовать два свойства —Name иCaption.СвойствоName—этоимяКомандной кнопки,которое будетиспользоватьсявзаголовкепроцедурыобработкисобытия, имя,котороебудетиспользоватьсявтелепроцедуры.
Caption — это название кнопки, под которым пользователь будетвидетьеенарабочемлистеExcel.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]