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

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

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
41
Еслиу3. Контактаесть адрес электронной почты— соз-
даетсяСообщение.
Свойствам4. Сообщения(To, Subject)присваиваютсязначения. Формируетсясвойство5. Body.
ЕслиуКонтактаопределеносвойствоNickName,тообращение кадресатуосуществляетсяпоимени.Еслиэтосвойствонеопреде­лено,тообращениеосуществляетсяпоимени-отчеству.
Исходное состояние Информационной системы
Впапке1. Контактыдолжнысуществоватьнесколькокон­тактов, для ряда из которых должны быть определены адреса электроннойпочты.
Долженбытьопределенпорядоквводаинформацииофа-2. милии,именииотчествеКонтакта.
Чтобыопределитьэтотпорядок,необходимо выполнить по-
следовательностькоманд(рис.12).
МенюСервисПараметрыПараметрыконтактов
ВOutlookинформацияофамилии,именииотчествевводится какполное имя, т.е. как некоторая единаясущность. В стандарт­нойформеКонтакт естьтакжеполеХранить как,котороеформи- руетсяавтоматически,ноприэтоместьвозможностьвыбратьодин изпредоставляемыхформатовхраненияданных.Вовсякомслучае, необходимо изначально определить порядок ввода информации оКонтактеивсегдаследоватьэтомупорядку.Впротивномслучае автоматизацияработысКонтактамибудетневозможной.
Подготовительная работа
ВАдресной книге Outlook Expressможнобыло найти назва­ниеполяNickName,правда,какпоказываетопыт,большаячасть пользователей это поле не заполняли. В Outlook 2003 названия поляNickName нет, нона вкладкеПодробности элемента Кон- тактестьназваниеполяКраткое имя.Ночтоэтоназваниеобо­значает?Ктоскажет!Такимобразом,нашазадачаопределитька­коеполестандартнойформыКонтактысоответствуетсвойству
42
Рис. 12. ОпределениепараметровКонтактов
NickName элемента Контакт. Листинг 2 представляет макрос, которыйпозволяетответитьнапоставленныйвопрос.
Листинг 2. Тест свойства NickName
Sub NickTest()
Dim aOl As Outlook.Application Dim iCn As Outlook.ContactItem Set aOl = New Outlook.Application Set iCn = CreateItem(olContactItem) iCn.NickName = «NickName» iCn.Display
End Sub
Запуститемакрос и откройте вкладку Подробностисоздан­ногоКонтакта—выувидите,чтовполеКраткое имябудетза-
43
писаноNickName, т.е.свойство NickName будетсоответствовать полюКраткое имя.
Возможно,увасвозникнут проблемывработе сосвойства­ми,связаннымисименем. Поэкспериментируйтесосвойствами FirstName, MiddleName, LastName, NickName. Листинг 3 пред­ставляетмакрос,которыйпоможетпонять,какобращатьсясэти­мисвойствамиэлементаOutlookКонтакт.
Листинг 3. Тест свойства FullName
Sub NamesTest()
Dim aOl As Outlook.Application Dim ons As Outlook.NameSpace Dim oFlCn As MAPIFolder ' Объект - Папка MAPI Dim cCn As Items ‘ Коллекция Контакты Dim iCn As ContactItem ' Элемент Контакт
Set aOl = New Outlook.Application Set ons = aOl.GetNamespace(«MAPI») Set oFlCn = aOl.GetNamespace(«MAPI»).Folders(«Личные папки»). Folders(«Контакты») Set cCn = oFlCn.Items
For Each iCn In cCn If iCn.FullName <> «» Then MsgBox «FirstName - « & iCn.FirstName & vbCrLf _ & «MiddleName - « & iCn.MiddleName & vbCrLf _ & «LastName - « & iCn.LastName & vbCrLf _ & «NickName - « & iCn.NickName
End If Next End Sub
В ходе выполнения макроса на экран будет выдаваться сообщение(рис.13).
44
Рис. 13.Результатэксперимента
поисследованиюсвойстваПолное имя Контакта
Изрисункаследует,чтосвойствоFirstNameнесет информа­циюобименииотчестве,втовремякаксвойствоMiddleNameне несетникакойинформации.
Макрос рассылки новогодних поздравлений
Листинг 4 представляет макрос рассылки новогодних по­здравлений.
Листинг 4. Рассылка Новогодних поздравлений Sub РассылкаНовогоднегоПоздравления() 'Блок объявлений Dim aOl As Outlook.Application Dim oNS As Outlook.NameSpace Dim oFlCn As MAPIFolder ' Объект - Папка MAPI Dim iM As MailItem ‘ Элемент Почтовое сообщение Dim cCn As Items ‘ Коллекция Контакты Dim iCn As ContactItem ' Элемент Контакт Dim LT As String ' Текст письма
‘Блок присваивания значений переменным Set aOl = New Outlook.Application Set oNS = aOl.GetNamespace(«MAPI») Set oFlCn = aOl.GetNamespace(«MAPI»).Folders(«Личные папки»). Folders(«Контакты»)
45
Set cCn = oFlCn.Items Set iCn = cCn.GetFirst
‘Блок формирования Поздравления LT = “Поздравляю с Новым годом” & Chr(13) LT = “Желаю крепкого здоровья, успехов в работе” & Chr(13) LT = “…” & Chr(13) LT = LT & С наилучшими пожеланиями” & Chr(13) LT = LT & “ Дм.Куприянов “ & Chr(13) LT = LT & « MyAdress@sm.ru « & Chr(13)
‘Цикл просмотра всех Контактов For Each iCn In cCn If iCn.Email1Address <> «» Then Set iM = Application.CreateItem(olMailItem) 'Создание Сообщения iM.To = iCn.Email1Address ‘определение адреса ‘электронной почты iM.Subject = “Новогодние поздравления”
If iCn.NickName <> “” Then iM.Body = iCn.NickName & «!» & vbCrLf & LT
Else
iM.Body = iCn.FirstName & «!» & vbCrLf & LT
End If
iM.Body = LT iM.Display
End If Next End Sub
Ниже приведены результаты действия макроса для случаев неформальногои формальногообращения к адресатам(рис. 13 и 14). Текстпоздравленияв обоих случаях только «обозначает­ся».Ноотметим,чтодлякаждогоадресататекстможетбытьпод­работанотдельно.
46
Рис. 14. Формированиенеформальногопоздравления
Рис. 15. Результатавтоматизациисозданияформальногопоздравления
47
Напомним,чтовотношенииСообщения(объектнаяперемен­наяiM)могутбытьиспользованыметодыDisplay,SaveиSend.
Входевыполнениямакроса будетвыдано окно предостере­жения (рис. 16). Если установить флажок Разрешить доступ, тобудетоткрытдоступкработемакросасКонтактамиибудут сформированысразувсесообщения.Впротивномслучаепридет­сяразрешатьдоступнесколькораз.
Рис. 16.ОкноразрешениядоступакинформацииOutlook
Макроспредельнопрост.Макросневеликпо объему,нопо­зволяетсущественноповыситьэффективностьработы.То,зачто впринципередкоктоберется(комунужнаэтанемалаяработа— разослатьнесколькосотенпоздравлений),можетбытьвыполнено втечениесчитанныхминут.Да,текстпоздравлениястандартный, одинитотжедлявсехадресатов.Новывкаждомобращаетесьпо имени.Болеетого,ещераз,есливыкому-тохотитедобавитьне­сколькоотдельныхстрок,—никакихпроблем.Естественно,что помимопоздравленийможноаналогичнорассылатьприглашения напрезентации,информациюоновыхтоварахит.д.
Комментарии к макросу
Вмакросе(Листинг4)используетсянескольконовыхобъектов. ОбъектнаяпеременнаяoNSобозначаетобъектNameSpaceприложе-
48
ния Outlook.Этообластьпамяти,вкоторойхранится информация Outlook.ИнформацияхранитсявЛичных папках,такихкакКонтак- ты,Календарьит.д.ЭтопапкиMAPI.Объявляютсятакжеобъект- ныепеременныеoFlCn—объект—папкаКонтакты,iCn— эле­ментКонтактиcCn—коллекцияэлементовКонтакт.
ОбъектприложениеOutlook(объектнаяпеременнаяaOl)об­ладает методом GetNamespace(«MAPI»), который открывает до­ступкстандартнымпапкамиOutlook.
Set oNS = aOl.GetNamespace(«MAPI»)
ОбъектуoFlCnприсваиваетсязначение
aOl.GetNamespace(“MAPI”).Folders(“Личные папки»).Folders(«Контакты»). _
Set oFlCn = aOl.GetNamespace(«MAPI»).
Folders(«Личные папки»).Folders(«Контакты»)
Коллекция КонтактовcCn представляет собой элементы стандартнойпапкиКонтакты.
Set cCn = oFlCn.Items
АэлементКонтакт(объектнаяпеременнаяiCn)изначально определяетсякакпервыйэлементколлекцииКонтактов
Set iCn = cCn.GetFirst
ВциклепросмотравсехКонтактовстандартнойпапкиКон­такты,еслиуКонтактаестьадресэлектроннойпочты,созда- етсяСообщение. Причем,если уКонтактаопределеноКорот­кое имя (вкладкаПодробностиформыКонтактыилисвойство NickName объектной переменной iCn), в теле Сообщения ис-
пользуетсянеформальное обращение через свойство NickName. Впротивномслучаеиспользуетсяформальноеобращениечерез свойствоFirstName.
Макрос можно усовершенствовать. Например, если свой­ствоNickNameопределено,всообщениевставляетсяодинтекст поздравления(неформальный).Впротивномслучаенаправляет­сядругойтекстпоздравления.
49

Формы имеют очень большое значение в обеспечении эффек­тивности работы пользователей. MS Outlook отличается от боль­шинстваприложенийтем,чтопомимочистопользовательскихформ вэтомприложенииширокоиспользуютсяпользовательскиеформы, которыеразрабатываютсянаосновеСтандартных формOutlook.

Стандартные формы Outlook предоставляют пользователю широкиевозможности.Так,стандартная форма Контактимеет более100различныхполей,ибольшаячастьэтихполейдоступ­наизСтандартной формы.Особымразнообразиемотличаются поля,связанныесразличнымивидамителефонов.Ноестествен­нопредположить,чтоупользователяможетвозникнуть необхо­димостьвсозданиисобственныхформ.Предположим,чтовстан­дартнуюформуКонтактнеобходимодобавитьполеАббревиату- ра.Необходимостьэтогоможетбытьобъясненатем,чтомногие организации имеют достаточно длинные названия, что требует большоговременинавводподобнойинформации.
Чтобы отредактировать стандартную форму элемента Кон- такт, необходимовыполнитьследующиедействия.
Откройтеформуврежимеконструктора.1.
Дляэтогонеобходимовыполнитьпоследовательностькоманд
МенюСервисФормыКонструкторформ
Рисунок17 иллюстрируетрезультатвыполненияпоследова­тельностикоманд.
В открывшемся диалоговом окне2. Выбор формы в раскры- вающемсяспискепапкивыберитеопциюБиблиотека стандартных форм.
Впоявившемсянаэкранеспискестандартныхформдваж-3. дыщелкнитепоопцииКонтакты.
ВрезультатепоявитсястандартнаяформаКонтакт врежиме конструктора(рис.18).Режим конструктораполялегкоопреде- ляетсяпонадписи встрокезаголовкаформы,а такжепохарак­терномуфонуформы.
50
Рис. 17. ОбращениекБиблиотеке стандартных форм
Рис. 18.ЭлементКонтактврежимеконструктора
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]