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

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

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
31
ции.Этапроцедуранезайметувасмноговремени,нопоможет вамлучшепонять,длячегосоздаетсямакрос.Полезнымоказы­ваетсяуказыватьдатысозданияиредактированиямакросаиего работоспособность.
Вдальнейшемвлистингахтитульнаячастьбудетопускаться. Ноещеразподчеркнем,чтоэтооченьполезно,когдавмакросы включаетсянекотораясправочнаяинформация,котораяотвечает нанекоторыевопросы.Полезнотакжефиксироватьзамыселма­кросаидаватьподробныекомментарииккоду.
Вдальнейшембудетполезнымвключитьвшаблонмакро­саинструкцииобъявленияпеременныхиприсваиванияимна­чальных значений. Пусть этих инструкций в шаблоне будет много. Лишнее убрать несложно. Но это будутработающие инструкции.Основнаяжесложностьзачастуюсвязанастем, что всякая новая строка кода несет в себе потенциальную ошибку.
Теперь несколько слов в качестве комментариев. В Блоке
объявлениймакросаобъявляютсяобъекты:
Application− —этообъект—самоприложениеOutlook; MailItem− —этообъект—Сообщение электронной почты;
Lt—этопеременнаятипа− String,котораябудетпредставлять
собойтекстписьма(Сообщения электронной почты).
ВБлокеприсваиваниязначенийпеременнымоператорыпри­сваивания
SetaOl=NewOutlook.Application
SetiM=Application.CreateItem(olMailItem)
аналогичныиспользуемымнижеоператорамприсваиваниязначе­ниястроковойпеременной
LT=“УважаемыйСтаниславВикторович!”&Chr(13)
Однакоприприсваиваниизначенийобъектнымпеременным используетсяключевоесловоSet.
ВблокеформированияСообщения несколькоразвстречает­сялитералChr(13),которыйобеспечиваетвыводнаэкранпосле­дующеготекстасначаластроки.Длянекоторыхпонятнеебудет
32
использование вместо этого литерала встроенной константы VisualBasicvbCrLf.ОбъектнаяпеременнаяiMобладаетсвойства­миBody(Телоилисодержаниесообщения),Subject(Тема сообще- ния)иTo(Кому—адресэлектроннойпочтыКонтакта).Вмакро- сеэтимсвойствамприсваиваютсязначения.
Последний блок макроса назван Блок вывода сообщения
на экран. Для вывода Сообщения на экран используется метод DisplayобъектаСообщение.Вкомментарияхприведеныещедва
метода—SaveиSend.МетодSaveсохраняетсозданноеСообще­ниевпапкеЧерновики,аметодSendпомещаетСообщениевпап­куИсходящие.
Интеллектуальная подсказка, или Как набирать код
СредаVBEпредоставляетрядвозможностей,которыепозво­ляютразработчикуэффективносоздаватькод,т.е.сокращатьвре­мянавводкодаиегоотладку.Однимизтакихсредствявляется интеллектуальнаяподсказка. Суть этого инструмента состоит в том,чтоприправильномвводесистемаподсказываетразработчи­кувозможныевариантыкода(рис.6).
Рис. 6. Примериспользованияинтеллектуальнойподсказки
СьюМошерподсчитала[7],чтоеслиправильноиспользовать интеллектуальнуюподсказку,топримернонатретьможносокра-
33
титьработуповводукодамакросов.Интеллектуальнуюподсказ­куможноиспользоватьпо-разному.Нонаилучшийспособ—про­должатьвводдотехпор,покавраскрывающемсяспискенебудет выделен необходимый объект, свойство или метод, после чего следуетнажатьклавишутабуляции.Старайтесьменьшеработать с использованием мыши. Помните, что профессионалы управ­ляют работой компьютера преимущественно с использованием клавиатуры.
Создание кнопки запуска макроса
ЕсливыдействительнодостаточночастонаправляетеСооб­щениеэлектроннойпочтыодномуизадресатов,тобудетцелесоо­бразным после создания макроса разместить на панели команд кнопкузапускамакроса(рис.7).
Рис. 7. Связываниекнопкисмакросом
34
ЧтобыразместитькнопкузапускамакросанаПанели команд Стандартная, необходимо
Выполнитьпоследовательностькоманд1.
МенюСервисНастройкаКомандыМакросы
Всписке2. Командывыбратьнеобходимый макроси пере-
тащитьегомышьюнаПанель команд Стандартную.
Пользовательскиекнопки, пользовательскиеменюипользо­вательские панели инструментов могут существенно повысить эффективностьработы.
Удаление кнопки запуска макроса
Возможно,вампотребуетсяудалитьразмещенныевамикноп­кисПанели команд Стандартная.Дляэтогонеобходимовыпол- нитьследующуюпоследовательностьдействий.
Выполнитепоследовательностькоманд1.
МенюСервисНастройка
Вокне2. НастройкавыберитевкладкуКоманды. В окне3. Категории выберите опцию Стандартная и на-
жмитенакнопкуУпорядочить.
Вокне4. Изменение порядка командвыберитеопциюПанель инструментов,авраскрывающемсяспискесправаотрадиокноп­киопциюСтрокаменю.
Всписке5. Элементывыберитемакрос,которыйнеобходи­моудалить,ищелкнитепокнопкеУдалить(рис.8).
Кпроцедуреудалениякнопкиприбегатьпридется,поскольку современем их числоувеличивается иоказываетсяболееудоб­нымзапускатьмакросыизПользовательского меню.
Сохранение модуля. Экспорт и импорт файлов
Полезныймакрос—этомакрос,которыйвыиспользуетесегод­няилисможетеиспользоватьвбудущем,чтобысделатьвашурабо­туболееэффективной.Отладитьмакроспредставляетсобойиногда весьма непростую задачу. А это значит, необходимо предпринять усилия,чтобыэтойработеничтонеугрожало.Угрозможетбытьне-
35
Рис. 8. Удалениекнопкизапускамакроса
сколько.Однаизочевидных—выходизстрояжесткогодиска.Одно изочевидныхрешенийпроблемы—резервноекопированиеданных навнешниеносители,напримернаFlash.КакисданнымивOutlook, работасмакросамиимеетособенность—вопциименюФайлотсут­ствуетопцияСохранить как(рис.9).Однимизрешенийпроблемы можетбытькопированиемодуляисохранениеегокактекстовогодо­кумента.Новтакомслучаевозможныпроблемысперекодировкой текстамакроса,написанногонарусскомязыке.
Проблемыперекодировкине возникает,еслиимпортировать выполнивследующийалгоритм.
Создайтепапку, в которойвы намерены хранить модули1.
VBA.
36
Рис. 9. Экспортиимпортмодуля
ОткройтеVBE.2. Выделите модуль,которыйнеобходимосохранить, и вы-3.
полнитепоследовательностькоманд
МенюФайлExportFile
ВокнеExportFile(рис.10)определитеместохранениямо-4.
дуля,имямодуляирасширениемодуля.
Рис. 10. Определениеимениирасширениямодуля
37
По умолчанию система предлагает имени файла расшире­ние*.bas.Ноэторасширение лучше изменитьна*.txt,т.к.если оставить расширение *. bas, то будет запускаться приложение VisualBasic.Мыжеработаемсмодулемв приложенииOutlook. Целесообразноиметьнекоторуюсистему,всоответствииското­ройприсваиватьименамодулям.Например,имяtest_20050504.txt означает, чтоэто модуль, в котором сохранены макросытестов, экспериментов при работе над полезными макросами Outlook. Датасохранения— 4мая2005.Укаждогоможетбыть свояси­стема—важно,чтобыэтасистемабыла.Будетхорошо,еслиэта системабудетопределенаписьменно.Зафиксируйтеэтусистему письменно.Иследуйтеейнеукоснительно.Дажеесливыделаете что-то«наколенке»—делайтекакследует.
Хорошо, еслиу васне будетвозникатьнепредвиденныхоб­стоятельствивамнепридется обращатьсякрезервным копиям. Новыможетеработатьненасвоемкомпьютере,напримервучеб­номклассе,исохранятьнаработанныйкод,напримернадискете, алучшенаFlash.Чтобычерезнекотороевремявернутьсяксвоей работе,необходимоимпортироватьсвнешнегоносителявашмо­дуль.Дляэтогонеобходимовыполнитьалгоритм.
ОткройтеVBE.1. Выполнитепоследовательностькоманд2.
МенюФайлImportFile
Вокне3. Import Fileвыберитенеобходимыйфайл(рис.11).
Операцииэкспорта/импортаполезныдлярезервногокопи­рования,обменакодоммеждусотрудниками,переносакодавдо­кументWordприсозданиидокументации.

Учение о префиксах занимает почетное место практически вовсехучебникахпопрограммированию.Едвалиможносерьезно настаиватьнаихбольшомзначениидляэффективностипроцесса созданиясерьезныхпрограмм.Еслиговоритьо«русскоязычном» программировании, т.е. когда используютсяимена идентифика­торовнарусскомязыке,топринятая система«английских»пре-
38
Рис. 11. Импортмакроса
фиксовкак-товыпадает.Вместестем,можнопредположить,что имеетсмыслхотябыврамкаходногоразделаиспользоватьпере­менныесоднимименем.
В настоящеевремя достаточношироко используются длин­ныеименапеременных,констант,объектов.Втакомслучаеможно создаватькодсдостаточнокороткимикомментариями.Новэтом случаеувеличиваетсявремя набора, истрокакодачасто превы­шает ширину экрана: чаще приходится использовать перенос икодстановитсянеудобночитать.
Вчемдостоинствокороткихимен?Короткиеименабыстрее вводитьвкомпьютер,истрокакодаполучаетсякороче,азначит илегчедлячтения
Чтениекоданевызываеттрудностей,еслиснимчастоработать иеслинеукоснительноследоватьправиламназначенияимен.
Какие здесь будут требования? Имена должны быть легко различимымежду собой илегкоразличимы сименами свойств иметодов.
39
Таблица2представляетнаиболеечастовстречающиесяиме­наобъектов,ихпрефиксыиидентификаторы.


   
a application aExcel aXl a application aOutlook aOl a application aWord aWd c collection cBarPanes cBP c collection cFolderContacts cFC c collection cFolderDeleted cFD c collection cFolders cF c collection cFoldersInbox cFI c collection cInspectors cIn c collection cItems cIt c collection clinks cL c collection cRecipients cR c collection cShortcuts cSC
i i параметрцикла i i item iAppointment iA i item iContact iCnt i item iJournal iJ i item iNote iN
i item iTask iT o object oAttachment oAtt o object oBarPane oBP o object oFolder oF o object oFolderContacnts oFC o object oFolderTasks oFT o object oForm oFrm o object oFormDescription oFD o object oInspector oIn o object oItem oIt o object oLink oL o object oNameSpace oNS o object oRecipient oRc o object oShortcut oSC p property pSelection pS с collection cContacnts cCnt
40
Основысистемыназначенияимензаложены.Ноэтополдела. Главное—неукоснительноследоватьсозданнойсистеме.Этосу­щественнымобразомоблегчитпроцесснаписания,отладкиисо­провождениякода.

Однаждымною былополучено сообщениеэлектронной по­чтыпримернотакогосодержания:
Дорогой друг!
В связи с тем, что на мой адрес стало приходить огромное количество спама, вынужден сменить свой адрес электрон­ной почты. Впредь прошу направлять мне сообщения на адрес
myNewAdress@mail.ru.
С наилучшими пожеланиями,
Сергей
Безусловно,приятно,чтоестьлюди,длякоторыхтыявляешь­сядругом.Особенноприятно,чтотынепростодруг,нодорогой друг.Ночувствуешь,чтоздесьвсе-такичто-тонетак.
Хорошийтонтребует,чтобыкчеловекуобращалисьпоимени­отчествуилиимени,взависимостиотобстоятельств.Outlookпо­зволяетавтоматизироватьпроцессрассылкисообщений,причем удовлетворитпрактическилюбыетребованиякСообщениям.Ли­стинг4представляетмакрос,обеспечивающийсозданиеновогод­нихпоздравленийдляКонтактов,укоторыхестьадресэлектрон­ной почты. Нужно ли поздравлять? Безусловно, нужно. Все ли поздравляют,например,своихклиентов?Конечно,нет—далеко невсе. Это оченьважно.Почемунепоздравляют?Этовсе-таки большаяработа.Еслиееделатьвручную.
Замысел макроса
Формируется стандартный текст новогоднего поздравле-1.
ния(строковаяпеременнаяLt).
Впапкепросматриваютсявсеконтакты(цикл2. For each…
Next).
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]