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

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

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
61
Private Sub btnDelete_Click() iCn.Delete Set iCn = cCn.GetPrevious тстФамилия.Text = iCn.LastName тстИмя.Text = iCn.FirstName тстОтчество.Text = iCn.MiddleName txtNickName.Text = iCn.NickName спрОрганизация.Value = iCn.CompanyName
If iCn.Gender = olMale Then кнрМ = True ElseIf iCn.Gender = olFemale Then кнрЖ = True
Else
кнрНетИнформации = True
End If End Sub
Private Sub btnNew_Click() ‘При создании нового Контакта текстовые поля очищаются от информа­ции и создается новый Контакт. Фокус передается в первое текстовое поле — в поле Фамилия тстФамилия = “” тстИмя = “” тстОтчество = “” txtNickName = “” кнрНетИнформации.Value = True Set iCn = CreateItem(olContactItem) тстФамилия.SetFocus
End Sub
Private Sub bntNext_Click() ‘Если выбрана не последняя запись, то осуществляется перемещение к следующей записи
62
If i < cCn.Count Then Set iCn = cCn.GetNext ‘Если свойства текущего Контакта определены, то заполняются соответ­ствующие текстовые поля пользовательской формы If Len(iCn.FirstName) > 0 Then тстИмя.Text = iCn.FirstName If Len(iCn.MiddleName) > 0 Then тстОтчество.Text = iCn.MiddleName If Len(iCn.NickName) > 0 Then txtNickName.Text = iCn.NickName спрОрганизация.Value = iCn.CompanyName ‘свойство Gender может быть и не определено If iCn.Gender = olMale Then кнрМ = True ElseIf iCn.Gender = olFemale Then кнрЖ = True
Else
кнрНетИнформации = True
End If Else
MsgBox “Достигнут конец коллекции”
End If
i = i + 1 тстЗаписьТекущая.Text = Str(i)
End Sub
Private Sub btnFirst_Click() ‘щелчок по кнопке делает активной первую запись и информацию о свой­ствах Контакта выводит в пользовательскую форму Set iCn = cCn.GetFirst i = 1 'Call мкрЗаполнитьФорму тстФамилия.Text = iCn.LastName тстИмя.Text = iCn.FirstName тстОтчество.Text = iCn.MiddleName txtNickName.Text = iCn.NickName спрОрганизация.Value = iCn.CompanyName
63
If iCn.Gender = olMale Then кнрМ = True ElseIf iCn.Gender = olFemale Then кнрЖ = True
Else
кнрНетИнформации = True
End If End Sub
Private Sub btnLast_Click() ‘щелчок по кнопке делает активной последнюю запись и информацию о свойствах Контакта выводит в пользовательскую форму Set iCn = cCn.GetLast 'Call мкрЗаполнитьФорму тстФамилия.Text = iCn.LastName тстИмя.Text = iCn.FirstName тстОтчество.Text = iCn.MiddleName txtNickName.Text = iCn.NickName спрОрганизация.Value = iCn.CompanyName
If iCn.Gender = olMale Then кнрМ = True ElseIf iCn.Gender = olFemale Then кнрЖ = True
Else
кнрНетИнформации = True
End If End Sub
Private Sub btnPrevios_Click() ‘обеспечивает перемещение к предыдущей записи и вывод информации о свойствах контакта в поля ‘пользовательской формы If i <= 1 Then MsgBox “Достигнуто начало коллекции”
Else
64
Set iCn = cCn.GetPrevious тстФамилия = iCn.LastName тстИмя = iCn.FirstName тстОтчество = iCn.MiddleName txtNickName = iCn.NickName спрОрганизация.Value = iCn.CompanyName
If iCn.Gender = olMale Then кнрМ = True ElseIf iCn.Gender = olFemale Then кнрЖ = True
Else
кнрНетИнформации = True
End If End If End Sub
Private Sub btnSave_Click() ‘обеспечивает сохранение информации полей формы в свойствах соз­данного контакта ‘Set iCn = cCn.GetNext iCn.LastName = тстФамилия iCn.FirstName = тстИмя iCn.MiddleName = тстОтчество iCn.NickName = txtNickName iCn.CompanyName = спрОрганизация.Value If кнрМ Then iCn.Gender = olMale ElseIf кнрЖ Then iCn.Gender = olFemale
Else
iCn.Gender = olUnspecied
End If
iCn.Save
End Sub
65
Private Sub CommandButton4_Click()
Dim myStr As String
myStr = «myStr»
cCn.GetFirst
txtNickName = InputBox(«txtNickName») MsgBox “myStr Type “ & VarType(myStr) MsgBox “txtNickName Type “ & VarType(txtNickName)
MsgBox “NickName “ & txtNickName Set iCn = cCn.Find(”[NickName]=””txtNickName”””)
If iCn Is Nothing Then MsgBox ”NickName not found”
Else
MsgBox iCn.NickName
End If End Sub
Private Sub CommandButton5_Click() Call мкрПоказатьКонтакт
End Sub
Private Sub UserForm_Initialize() ‘Блок присваивания значений переменным при инициализации пользо­вательской формы Set aOl = New Outlook.Application Set oNS = aOl.GetNamespace(«MAPI») Set oFCn = aOl.GetNamespace(«MAPI»).Folders(«Личные папки»). Folders(«Контакты»)_.Folders(«Проекты»).Folders(«Грибоедова») Set cCn = oFCn.items Set iCn = cCn.GetFirst ‘определение свойств элемента управления Поле со списком спрОрганизация.AddItem “”
66
спрОрганизация.AddItem “МАМАРМЕН” спрОрганизация.AddItem “21 век” спрОрганизация.AddItem “МИПП” спрОрганизация.AddItem “РГГУ” тстФамилия = iCn.LastName тстИмя = iCn.FirstName тстОтчество.Text = iCn.MiddleName txtNickName = iCn.NickName спрОрганизация.Value = iCn.CompanyName If iCn.Gender = olMale Then кнрМ = True ElseIf iCn.Gender = olFemale Then кнрЖ = True
Else
кнрНетИнформации = True
End If
тстЗаписейВсего.Text = cCn.Count ‘Передача управления первому полю пользовательской формы тстФамилия.SetFocus
End Sub
Private Sub кнДобавитьИмя_Click() ‘если свойство Короткое имя не определено, то оно определяется име­нем из свойства Контакта ‘полное имя txtNickName.Text = тстИмя.Text
End Sub
Private Sub кнДобавитьИмяОтчество_Click() ‘если свойство Короткое имя не определено, то оно определяется име­нем и отчеством из свойства ‘Контакта полное имя txtNickName.Text = тстИмя.Text & “ “ & тстОтчество.Text
End Sub
Private Sub кнДобавитьОтчество_Click() ‘если свойство Короткое имя не определено, то оно может быть опреде­лено отчеством из свойства ‘Контакта полное имя
67
txtNickName = тстОтчество.Text
End Sub
Sub мкрПоказатьКонтакт(iCn) ‘процедура, обеспечивающая заполнение полей формы из свойств теку­щего контакта тстФамилия.Text = iCn.LastName тстИмя.Text = iCn.FirstName тстОтчество.Text = iCn.MiddleName txtNickName.Text = iCn.NickName спрОрганизация.Value = iCn.CompanyName If iCn.Gender = olMale Then кнрМ = True 'кнрЖ = False ElseIf iCn.Gender = olFemale Then 'кнрМ = False кнрЖ = True
Else
кнрНетИнформации = True
End If End Sub
Вкачествеупражненияможнопорекомендоватьпопытаться выделитьчастикода,которыемогутбытьопределеныкаксамо­стоятельныепроцедуры.
68


Получениеданныхдля информационнойсистемыпредстав­ляетсобойтрудоемкийидорогостоящийпроцесс.Здесьнужныи определеннаяквалификация,посколькунужно уметьправильно оценитьполезностьданныхдляобеспечениябизнес-процессов,и устойчивыенавыкивработесприложениями.Носамаябольшая проблема — заставить потенциального клиента предоставить возможностьс ним связаться.В нашемслучае наибольший ин­терес представляетвозможность осуществлять коммуникации с клиентомсредствамиэлектроннойпочты.
Электронные визитные карточки
Видимо,лучшимспособомсообщитькому-либоинформацию осебе будетотправить электроннуювизитную карточку.Чтобы создать электронную визитную карточку, необходимо открыть соответствующийКонтакт,после чего сохранить егос расши­рениемvcf(vCard).Далееэлектроннаявизитнаякарточкавклады­ваетсявСообщение.Получателюостаетсясохранитьеенасвоем компьютере,послечегоперетащитьмышьювпапкуКонтакты.
Контактов

Работасэлектроннымивизитнымикарточкамивсемхороша. Нопроблемавтом,чтосегодня,ксожалению,далеконевсерабо­таютсOutlook.Поэтомунеобходимболееуниверсальныйспособ полученияинформации.Мыужеотмечали,что,есликлиентза­интересованввашихуслугам,необходимовненавязчивойформе предложитьемупоставить информациюо себе.Точнее,для вас неважно знать его почтовый адрес, семейное положение и т.д. Длявасважнополучитьегоимя(NickName)иадресэлектронной почты.Необходимозарегистрироватьклиентаввашейинформа­ционнойсистеме.
69
Рассмотрим пример регистрации мною студентов. Чтобы бытьзарегистрированным,студентунеобходимонаправитьвмой адресопределеннымобразомоформленноесообщениеэлектрон­нойпочты.Аименно:вполеТемадолжнобытьвведенопредло- жениеследующеготипа:
Регистрация; МИПП; 2002; эк; дн; мн; Гончаров Андрей Ни­колаевич; Андрей
Этобудетозначатьследующее:
Регистрация—этослово-признак,означающеето,чтоСооб- щениенаправленодлятого,чтобыпользовательбылзарегистри­рованвБазе данных;
МИПП—аббревиатураназваниявуза;
2009—годпоступлениявинститут;
Эк—экономическийфакультет;
Дн—формаобучениядневная;
Мн—специальностьменеджмент;
ГончаровАндрейНиколаевич—полноеимястудента;
Андрей—короткоеимя,соответствующеесвойствуNickName Контакта.
ЕсливпапкеВходящиенаходятсяСообщения,вполеТемако- торыхестьсловоРегистрация,запускаетсямакрос.Макросраз­бираетпредложениевполеТема.Еслипервымэлементомявляет- сясловоРегистрация,тосоздаетсяКонтакт,свойствакоторого определяютсяостальнымисловамипредложенияполяТема.
Еслирегистрацияпрошлауспешноиобразовансоответствую­щийКонтакт,тоформируетсяответноесообщениеэлектронной почты,котороеизвещаетотправителяорегистрации.Полученное сообщение свою миссию выполнило и может быть удалено из папкиВходящие.Листинг6представляетмакрос,формирующий КонтактынаосновесообщенийпапкиВходящие.
Листинг 6. Создание Контактов из входящих Сообщений Sub СоздатьКонтактыИзВходящих() 'Блок объявления переменных Dim aOl As Outlook.Application Dim oNS As Outlook.NameSpace
70
Dim oFС As MAPIFolder 'объект - папка Контаткты Dim oFI As MAPIFolder 'объект папка входящие Dim cCn As Outlook.Items 'коллекция элементов Контакты Dim cM As Items ‘коллекция входящих Сообщений Dim iCn As Outlook.ContactItem 'элемент Контакт Dim iM As Outlook.MailItem 'элемент Сообщение Dim iManswer As Outlook.MailItem ‘ответ, в случае неправильного оформления Dim iNote As Outlook.NoteItem 'элемент Заметка Dim oFN As Outlook.MAPIFolder 'объект - папка Заметки Dim cN As Outlook.Items ‘коллекция Заметок Dim strInfo ‘строка информации о студенте Dim infoArray ‘массив информации о студенте Dim LT As String ‘текст письма-ответа Dim i As Integer ‘переменная цикла при считывании ‘информации о студенте из массива Dim флРегистрация As Boolean ‘флажок режима регистрации
‘Блок присваивания значений переменным Set aOl = New Outlook.Application Set oNS = aOl.GetNamespace(«MAPI») Set oFС = aOl.GetNamespace(«MAPI»).Folders(«Личные папки»).Folders(«Контакты») Set oFI = aOl.GetNamespace(«MAPI»).Folders(«Личные папки»).Folders(«Входящие») Set oFN = aOl.GetNamespace(«MAPI»).Folders(«Личные папки»).Folders(«Заметки») Set cCn = oFС.Items Set cM = oFI.Items Set cN = oFN.Items Set iM = cM.GetFirst
‘цикл просмотра всех Сообщений электронной почты в папке Входящие For Each iM In cM флРегистрация = False ‘о регистрации говорить пока еще рано ‘информация из поля Subject текущего Сообщения представляется в форме 'элементов массива infoArray = Split(iM.Subject, «;», -1)
For i = LBound(infoArray) To UBound(infoArray)
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]