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

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

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
121
Рис. 35. ПодключениеобъектнойбиблиотекиExcel
ПослеустановкифлажкавстрокеMicrosoftExcel10.0Object Libraryможнозапускатьнавыполнениемакросы,использующие объектнуюмодельExcel.Внашемслучаепредварительнонадис­кеDдолженбытьсозданфайлExcelсименемОтчет,ивэтом файледолженбытьрабочийлистсименем«09».
Листинг27представляетмакроспередачиданныхизOutlook вExcel.
Листинг 27. Передача данных из Outlook в Excel Sub ОтчетОработеПередачаВexcel() 'назначение - передача информации из Заметки Outlook на рабочий лист Excel 'подготовительная процедура для макроса Отчет о работе
122
Dim aOl As Outlook.Application Dim iNote As Outlook.NoteItem Dim aXl ‘ объявление объектной переменной Приложения Excel Dim oXlSheet ‘ объявление объекта - листа Excel
Set aOl = New Outlook.Application Set iNote = CreateItem(olNoteItem) iNote.Body = «Body of the Note»
Set aXl = CreateObject(«Excel.Application») If aXl Is Nothing Then MsgBox «Не удается открыть приложение Excel», vbCritical
Exit Sub End If
aXl.Workbooks.Open FileName:=»D:\Отчет.xls» Set oXlSheet = aXl.Sheets(“09”) ‘ссылка на объект - Лист Excel с именем “09” ‘отчет за сентябрь aXl.Visible = True oXlSheet.cells(1, 1) = iNote.Body ‘в ячейку Excel с координатами ‘(1, 1) записывается ‘содержимое Содержание ‘(свойство Body) Заметки
End Sub
Послетогокакмыубедилисьвработоспособноститехноло­гии, можно приступить непосредственно к выполнению задачи педачиданных изOutlook в Excel.Эта задачарешаетсяс помо­щьюмакросапредставленноговЛистинг28.
Листинг 28. Передача данных о работе из Outlook в Excel Sub ОтчетОработе() Dim aOl As Outlook.Application Dim oNS As Outlook.NameSpace Dim oFA As MAPIFolder ' Объект - Appointments Folder Dim cA As Items ‘ Коллекция Встреч
123
Dim iA As Outlook.AppointmentItem Dim aXl ‘ объявление объектной переменной Приложения Excel Dim oXlSheet ‘ объявление объекта - листа Excel Dim i As Integer ' номер текущей строки листа Excel
Set aOl = New Outlook.Application Set oNS = aOl.GetNamespace(«MAPI») Set oFA = aOl.GetNamespace(«MAPI»).Folders(«Личные папки») .Folders(«Календарь») Set cA = oFA.Items
‘отыскивается первая встреча в Текстильщиках в мае месяце Set iA = cA.Find(«[location]=»»Текстильщики»» and [End]>»»1/09/2005»» _and [End]<»»30/09/2005»»») Set aXl = CreateObject(«Excel.Application») If aXl Is Nothing Then MsgBox «Не удается открыть приложение Excel», vbCritical
Exit Sub End If
aXl.Workbooks.Open FileName:=»D:\Отчет.xls» Set oXlSheet = aXl.Sheets(«07») ' ссылка на объект - лист Excel aXl.Visible = True aXl.Columns(«D:D»).ColumnWidth = 45
‘ просматриваются и передаются в Excel все элементы подмножества ‘ Встреч, удовлетворяющие критерию поиска
i = 7 Do Until iA Is Nothing oXlSheet.cells(i, 1) = Format(iA.Start, «dd:mm») oXlSheet.cells(i, 2) = (iA.Duration) / 360 oXlSheet.cells(i, 4) = iA.Subject Set iA = cA.FindNext 'перемещение к следующей Встрече, ‘удовлетворяющей критерию поиска i = i + 1 ‘перемещение по строкам таблицы Excel
124
Loop oXlSheet.cells(i, 1) = «Итого» oXlSheet.cells(i + 1, 1) = «По штату» oXlSheet.cells(i + 1, 2) = 60 oXlSheet.cells(i + 2, 1) = «Переработка»
End Sub
Рисунок36иллюстрируетрезультатвыполнениямакроса.
Рис. 36. ОтчетвExcelопроделаннойработе
Отрицательныйрезультатв ячейкеВ16не долженсмущать: «расписание»составленокакпример,ивэтомпримереобъемна­грузкименьшенормативной.Полезнопосмотреть наэтузадачу
125
сточкизрения реинжиниринга бизнес-процессов: едвали мож­носогласитьсясрациональностьюэтойотчетнойработы—она требуетвремениинаэтапеучета,инаэтапесоставленияотчета. По-хорошему, можно было бы вполне ограничиться звонком вучебнуючастьвслучаеневыполнениярасписания,чтоявляется исключительнойситуацией.Привыполнениирасписаниязанятий (есливучебнуючастьнепоступалаинформацияосрывезанятий) соответствующийдокументдолженпередаватьсяизучебнойча­стивбухгалтериюдлярасчетзаработнойплатыпреподавателей.
126

Можно указать несколько способов создания Сообщения. Способ, который очень часто используюти которыйнельзя на­звать удачным,состоит в том, что выполняется последователь­ностькоманд
Меню>Файл>Создать>Сообщение
ВрезультатенаэкранепоявляетсястандартнаяформаСооб- щение.
ВстандартнойформеСообщениеосуществляетсящелчокпо кнопкеКому,врезультатена экранепоявитсяокноВыбор имен. Рисунок37иллюстрируетвозникшуюситуацию.Выбиратьнеоб­ходимые Контактыв Адресной книге менее удобно,чем среди структурированныхвиерархиюпапокпапкиКонтакты.
Напрактикеоказалось оченьудобнымписатьписьмав тек­стовомпроцессореWordиотправлятьихизэтогожеприложения. Рисунок38иллюстрируетэтуситуацию.
Ноесливыведетеинтенсивнуюпереписку,товозможно,что есть5–7партнеров,ккоторымвыобращаетесьсосвоимисообще­нияминаиболеечасто.Например,высколлегамиработаетенад совместным проектом. И всякий раз вам необходимо выбирать необходимогоадресата, но главное,всякий раз необходимо пи­сатьобращение, подписи,некоторыеформальныеобороты. Это небольшоевремя.Ноиз-заподобныхмелочейчастонеэффектив­норасходуютсязначительныересурсы.
Замысел макроса
Макрос запускается из пользовательского меню или щелч­компокнопкенапанеликоманд.Задачамакросасостоиттолько втом,чтобыопределитьадресэлектроннойпочтыадресата.На­званиемакросаассоциируетсясименемилифамилиейадресата. МакросвызываетпроцедурусименемПисьмо.Впроцедуревка­честве формальногопараметраиспользуетсяадресэлектронной почты(АЭП).Листинг29представляеткодмакроса.
127
Рис. 37.Выборадресатаизадреснойкниги
Листинг 29. Вызов процедуры создания основы Сообщения Sub Андрей() 'Блок объявлений Dim АЭП As String 'адрес электронной почты 'Блок присваивания значений переменным АЭП = «kupr_05@mail.ru» Call Письмо(АЭП)
End Sub
Листинг30 представляетпроцедурусозданияосновыСооб-
щениядлявыбранноговпользовательскомменюадресата.
128
Рис. 38.ОтправкасообщенияизтекстовогопроцессораWord
Листинг 30. Процедура создания Сообщения
для наиболее частых Адресатов Sub Письмо(АЭП) 'Блок объявлений Dim aOl As Outlook.Application 'объектная переменная Приложение
Outlook
Dim oNS As Outlook.NameSpace 'объект NameSpace Dim oFCn As MAPIFolder 'объект - Папка MAPI
129
Dim cCn As Outlook.items ‘коллекция Контактов Dim iM As MailItem ‘элемент Сообщение электронной почты Dim iCn As Outlook.ContactItem 'элемент Контакт
Dim lt As String 'текст Сообщения Dim СтрПоиска As String
‘Блок присваивания значений переменным Set aOl = New Outlook.Application Set oFCn = aOl.GetNamespace(«MAPI»).Folders(«Личные папки»). _ Folders(«Контакты»).Folders(«Процессы») Set cCn = oFCn.items СтрПоиска = «[Email1Address] = « & АЭП Set iCn = cCn.Find(СтрПоиска)
If iCn Is Nothing Then ‘возможно, если Контакт будет удален или будет ‘изменен адрес электронной почты (АЭП) ‘в таком случае следует осуществлять выход ‘ из макроса MsgBox “Контакт не найден”
Exit Sub End If
Set iM = Application.CreateItem(olMailItem) iM.BodyFormat = olFormatPlain ‘Сообщение будет в текстовом формате ‘Блок формирования Сообщения lt = “Уважаемый “ & iCn.NickName & “!” & Chr(13) & Chr(13) lt = lt & “Направляю “ & Chr(13) lt = lt & “С уважением, Дм. Куприянов” iM.To = iCn.Email1Address iM.Subject = “ВШЭ: Учебный процесс” iM.Body = lt iM.Send
End Sub
130
Для часто отправляемых сообщений целесообразно создать пользовательскуюПанель инструментов.Дляэтогонеобходимо выполнитьалгоритм
МенюСервисНастройка
Впоявившемсяокне(рис.39)необходимовыбратьвкладкуПа- нели инструментов,далеещелкнутьпокнопкеСоздатьивпоявив­шемсяокнеопределитьимяПанели инструментов (Адресаты).
Рис. 39. Определениеименипанелиинструментов
Далее необходимона созданной Панели инструментов раз­меститькнопкизапускамакросовсозданияСообщений.Дляэто­госнованужновыполнитьалгоритм
МенюСервисНастройка
Впоявившемсяокне необходимовыбратьвкладкуКоманды ив окнеКоманды —опцию Макросы.Далее необходимопере-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]