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

2313

.pdf
Скачиваний:
1
Добавлен:
15.11.2022
Размер:
1.4 Mб
Скачать

каждая из которых принадлежит некоторому столбцу и одновременно принадлежит некоторой строке. Строки и столбцы каким-то образом идентифицируются, например столбцы именуются, а строки нумеруются. Имя столбца и номер строки в совокупности однозначно идентифицируют ячейку, которая им (одновременно) принадлежит. Этот идентификатор называется адресом ячейки или ссылкой на ячейку. Кроме того, для удобства ячейке можно дать индивидуальное имя. Ячейки рабочего листа предназначены для того, чтобы хранить различные значения.

Таким образом, ячейка может играть такую же роль, как переменная в программировании: она имеет обозначение (имя или адрес) и может иметь и менять значение. Всякое вычисление состоит в том, что по значениям одних переменных вычисляются значения других переменных. Обычно способ вычисления описывается с помощью формулы, содержащей математические операции и функции. Но сама формула - это тоже значение, которое можно хранить в ячейке! В этом и состоит основная идея электронных таблиц: одни ячейки рабочего листа используются как независимые переменные (в Excel они называются - влияющие ячейки), которым должны быть приданы значения извне, а другие ячейки используются как зависимые переменные (они так и называются в Excel - зависимые ячейки), которые содержат формулы, ссылающиеся на независимые переменные. Пользователь вводит исходные данные во влияющие ячейки, автоматически производятся вычисления по формулам, находящимся в зависимых ячейках, и пользователь видит готовый результат вычислений там же, в зависимых ячейках.

Все это настолько просто, что в первую минуту может возникнуть естественный вопрос: ну и что? Почему авторы связывают с этой идеей начало новой эры? Попробуем хотя бы частично ответить на этот вопрос, перечислив несколько очевидных следствий основной идеи:

· Цепочка зависимостей может быть сколь угодно длинной: одна ячейка зависит от другой ячейки, которая в свою

13

очередь зависит от третьей и т. д. Автоматическое вычисление может быть сколь угодно длинным (состоять из многих последовательных шагов).

·Влияющая ячейка может влиять на множество зависимых ячеек: сколь угодно много формул в разных зависимых ячейках могут ссылаться на одну и ту же влияющую ячейку. Автоматическое вычисление может быть сколь угодно широким (состоять из многих параллельных шагов).

·Цепочка зависимостей может быть циклической, и для вычисления таких циклических зависимостей могут быть использованы итерационные методы. Автоматическое вычисление может носить циклический характер (состоять из многих повторяющихся шагов).

·Формула в зависимой ячейке может носить условный характер: если некоторое условие выполняется, то нужно производить вычисления по одной формуле, а если не выполняется, то по другой. Автоматическое вычисление может быть сколь угодно многовариантным (состоять из многих альтернативных шагов).

·Формула может содержать сколь угодно сложные функции, а не только арифметические операции. Автоматическое вычисление может быть сколь угодно сложным (состоять из многих сложных шагов).

Этих возможностей заведомо достаточно для практически нужных в бизнесе вычислений.

Разумеется, навык построения средствами Excel простых решений сложных задач приобретается с опытом и, по меньшей мере, требует понимания сути всех имеющихся в Excel средств - а их довольно много. Но такой навык дает разработчику офисных приложений огромное преимущество, поскольку позволяет в компактной форме решать действительно непростые задачи.

Очень примечательной и поучительной является история Excel версии 5.0. К моменту ее выхода на рынке уже имелась и пользовалась заслуженной популярностью программа Lotus 1- 2-3, которая, по меньшей мере, не уступала Excel 5.0 по основ-

14

ным функциональным возможностям. В этой программе были реализованы мощные функции обработки массивов данных, построение диаграмм и т. д. Таким образом, Excel появился позже, когда программа Lotus 1-2-3 уже имела широкий круг пользователей. При этом Excel не обладал видимыми преимуществами в области основных выполняемых функций, да и продавался примерно по той же цене. Тем не менее Excel одержал убедительную победу в конкурентной борьбе. Excel 5.0 имел одно заметное новшество: полноценный язык программирования (VBA) в качестве средства программирования макросов - и это оказалось решающим преимуществом.

1.1.4. Деловая графика

Что такое деловая графика и чем она выделяется среди прочих графических образов, определить довольно сложно. Рабочее определение: деловая графика - это графические образы, используемые деловыми людьми. Жизненные наблюдения показывают, что наиболее характерными являются три вида деловой графики.

·Диаграммы, построенные по числовым данным. Например, гистограмма - набор столбиков, отражающих зависимость одной величины от другой, или круговая диаграмма, отражающая доли составляющих в целом. Диаграммы обычно используются для компактного и наглядного представления больших массивов данных. Их польза объясняется тем, что из графического образа численной зависимости человек способен сделать правильный качественный вывод непосредственно, не проводя дополнительных вычислений. Например, по гистограмме объемов продаж по месяцам выявить сезонные колебания спроса, а в круговой диаграмме сметы усмотреть неразумное соотношение статей расходов.

·Схемы, отражающие структуру и взаимосвязи в системе взаимодействующих объектов. Например, организационная диаграмма, т. е. структурная схема организации. Ценность схем для представления структур очевидна - это самое естественное средство. Мы не припомним случая, чтобы начальст-

15

вующее лицо, затевая структурную перестройку в своей вотчине, не рисовало бы (пусть на бумажке) организационных диаграмм для пояснения своих идей себе и подчиненным.

· Презентации, т. е. набор графических материалов, сопровождающих и иллюстрирующих устное выступление. В современных презентациях часто используется анимация, т. е. создание иллюзии движения объектов на экране. Многие недооценивают важность этого вида офисных приложений, считая подготовку красочных анимированных презентаций баловством. Однако обратите внимание на следующее обстоятельство: чтение доклада по бумажке, как правило, не одобряется аудиторией, а иногда считается зазорным. Но чтение доклада по картинкам (которые, кстати, гораздо больше помогают докладчику быть на высоте, чем просто текст) приветствуется аудиторией и считается престижным.

Программирование любой графики в терминах элементарных графических операций, так называемых графических примитивов, поддерживаемых аппаратурой компьютера, является довольно сложной задачей. Поэтому в офисных приложениях деловая графика используется в том объеме, в котором она поддержана офисными средствами разработки. Если используемое офисное средство разработки предоставляет только ограниченный набор графических примитивов, то не стоит связываться с графикой совсем, поскольку программирование анимированной заставки может потребовать больше усилий, чем реализация основных функций приложения. Если же деловая графика поддержана средствами высокого уровня, то отказ от ее использования в офисном приложении - проявление неуважения к пользователю.

С этой точки зрения Microsoft Office является мощным офисным средством разработки деловой графики, поскольку в его состав входит PowerPoint - удобное приложение для подготовки и проведения презентаций.

16

1.1.5. Электронные коммуникации

Всовременных условиях в число необходимых офисных приложений вошли средства обеспечения электронных коммуникаций, причем их значение продолжает быстро расти. Сейчас мы переживаем настоящий бум в этой области, и дело не только в стремительном увеличении пропускной способности и количества узлов глобальных сетей компьютерных телекоммуникаций. Буквально каждый месяц появляются принципиально новые идеи и технологии в этой области. Появление новых явлений, таких как электронные деньги, виртуальные магазины, корпоративные сети, в которых обмен защищенной информацией осуществляется по открытым каналам связи, уже оказывает серьезное влияние на современную экономику и делопроизводство.

Врезультате развития электронных коммуникаций меняется сама предметная область офисных приложений. При автоматизации традиционных процессов делопроизводства и документооборота речь идет о представлении в компьютере процессов реального мира с целью повышения надежности, эффективности, производительности и т. д. Совсем другая картина в области электронной коммерции: реальных процессов и документов может и не быть. Например, в традиционной торговле мы наблюдаем движение товаров от производителя к торговцу и от торговца к конечному потребителю, причем это движение товаров сопровождается соответствующими документами. В виртуальном магазине схема движения товаров может быть совсем другой, соответственно, состав и назначение документов могут быть другими, они могут вовсе отсутствовать.

Сейчас явно преждевременно говорить о том, что средства электронных коммуникаций устоялись. В данном курсе будут рассмотрены важнейшие технологии Интернет, а также пример использования электронной почты в офисном приложении.

17

1.2. Из истории VBA

Язык Visual Basic for Application (VBA) является совре-

менным диалектом языка программирования BASIC, который был создан в начале 60-х годов. (BASIC - это сокращение от

Beginner's All Purpose Symbolic Instruction Code.)

В конце 80-х годов Microsoft опубликовала значительно улучшенную версию языка BASIC, названную QuickBASIC. QuickBASIC включал почти все возможности современных систем разработки программного обеспечения.

После нескольких версий QuickBASIC в 1992 году

Microsoft представила Visual Basic for Windows.

В то время как BASIC развивался и улучшался, изменялись макрорекордеры, используемые в программных приложениях. С годами макросы приложений постепенно становились все сложнее.

Чтобы избежать необходимости изучения нового макроязыка для каждого продукта, Microsoft начала включать элементы языка BASIC в макроязыки своих продуктов. Примером может служить макроязык для Word for Windows фирмы

Microsoft (до Word 97), известный как WordBASIC, тогда как язык программирования для Access фирмы Microsoft был из-

вестен как Access Basic.

Для унификации макроязыков в своих приложениях Windows и для интеграции приложений на этих макроязыках с DDE и OLE Microsoft создала специальную версию языка

Visual Basic, названную Visual Basic for Applications (сокра-

щенно VBA). Excel 5 был первым продуктом, включающим

Visual Basic for Applications (VBA).

В основные приложения Office (Word, Excel, PowerPoint),

начиная с версии 2000, включен редактор сценариев - Microsoft Visual Basic Script Editor, который позволяет редактиро-

вать Web-страницы (например, в Word) и придать им динами-

ку. Язык VBScript (Visual Basic Scripting Edition) входит в се-

мейство языков Visual Basic и, являясь упрощенной версией языка Visual Basic, позволяет программировать документы, отображаемые браузерами World Wide Web.

18

По сведениям Microsoft, в настоящее время MS Office в качестве платформы создания бизнес-приложений используют более двух миллионов профессиональных разработчиков.

1.3. Для чего нужен язык программирования VBA

Многие пользователи продуктов Microsoft Office даже не подозревают о том, что эти программы совершенно не настроены для выполнения тех задач, для которых предназначены. Мало кто из пользователей, активно работающих, например, с Word или Excel, когда-либо вообще читал пособие по работе с этими продуктами - просто установили и начали создавать полезные (и не очень) документы. Между тем, все приложения Microsoft Office являются такими же конструкторами, как и те компьютеры, которые мы обычно используем с этими приложениями. Для многих типов задач, решаемых при помощи этих приложений, их нужно настраивать.

Перед тем как вы начнете писать собственные макросы, вам следует хорошо понять: что такое макросы и чем отличается VBA-программируемый макрос от записанного макрорекордером.

Вместо повторения последовательности команд каждый раз, когда вам необходимо выполнить какую-либо задачу, вы можете создать макрос (macro), который вместо вас будет выполнять эту последовательность. Макросы позволяют вводить одиночную команду, выполняющую ту же задачу, для реализации которой вам было бы необходимо вводить несколько команд вручную. Например, если вам необходимо для многих абзацев большого документа изменить стили на другие (стандартные, ранее вами подготовленные или экспортированные из других документов), вы могли бы записать действия, связанные с поиском и выбором стиля, записать при помощи макрорекордера.

Записанные макрорекордером последовательности команд первоначально назывались макрокомандами (macrocommands). Сейчас этот термин сократился до более простого слова макрос.

19

Макросы, кроме удобства, имеют и другие преимущества. Поскольку компьютеры больше приспособлены для выполнения повторяющихся задач, чем люди, запись макрорекордером неоднократно выполняемых команд повышает точность и скорость работы. Другим преимуществом использования макросов является то, что при их выполнении обычно нет необходимости в присутствии человека-оператора. В случае если макрос очень длинный или выполняет операции, требующие значительного времени (например, поиск в базе данных и сортировка), вы можете оставить работающий компьютер и делать что-нибудь другое, а также переключиться на другое приложение.

Макрорекордер (или просто "рекордер") записывает все действия пользователя, включая ошибки и неправильные запуски. Когда программа воспроизводит макрос, она выполняет каждую записанную рекордером команду точно в такой последовательности, в которой вы их выполняли во время записи. Первые макрорекордеры имели серьезный недостаток. Если вы записывали длинную серию действий, содержащую маленькую ошибку, единственной возможностью удалить эту ошибку являлась повторная запись макроса. По этим причинам разработчики программного обеспечения добавили макрорекордерам возможность редактирования макросов.

Поскольку вы можете использовать макрорекордер в Word или Excel для записи ваших действий в макрос (а в Access для этой цели использовать своего рода конструктор) и затем воспроизводить их, сначала может показаться, что изучать VBA необязательно.

Записанные макрорекордером макросы лишены гибкости, поэтому они не могут реагировать на изменившиеся или меняющиеся условия. На языке VBA вы можете написать макрос, который проверяет соответствие различным предопределенным условиям и выбирает соответствующую последовательность действий на основе этих условий. Если вы, например, выполняете какой-либо Excel-макрос, который пытается выбрать рабочий лист с именем "Продажи", в то время, когда в

20

книге нет такого рабочего листа, записанный вами макрос будет выполняться неправильно и Excel выведет на экран сообщение об ошибке. Добавив VBA-команды к этому записанному, макросу, вы могли бы с его помощью выполнить проверку наличия этого определенного рабочего листа перед его выбором или даже вставить новый рабочий лист и дать ему соответствующее имя, если нужный рабочий лист не существует. Существует много обстоятельств, при которых вам может понадобиться добавлять команды принятия решений и эффективное повторение команд к макросам, записанным макрорекордером. Единственный способ получить такие возможности - это вручную добавить операторы VBA к записанному макросу.

Кроме улучшения определенных макросов, записанных макрорекордером, вы можете использовать VBA для соединения, организации и управления несколькими записанными макросами, с помощью которых вы выполняете сложную общую задачу, состоящую из нескольких меньших задач. Например, вы можете регулярно импортировать данные из базы данных в рабочий лист Excel, форматировать эти данные для вывода на экран, генерировать диаграмму из этих данных и затем распечатывать эту диаграмму и отформатированный отчет.

1.4. Создание макроса в Word

-Запустите Word,

-выберите Tools | Macro | Visual Basic Editor (Сервис |

Макрос | Редактор Visual Basic) или нажмите комбинацию кла-

виш Alt+F11.

-Далее следует создать модуль, в котором будет размещаться код вашего первого макроса. Щелкните для этого на значке Ргоjесt<имя документа>) в окне Project, a затем - на кнопке с вертикальной стрелкой рядом с кнопкой Insert Module (вторая кнопка вверху слева) и в появившемся меню выберите

Module.

21

-Не вникая в маловажные для первого раза детали, поместите курсор в самое большое окно (Code) и введите следующий текст (без нумерации строк!):

Листинг 1.1, Первый макрос в Word

1: Sub MyFirstMacro()

2: MsgBox ("Макрос в Word!") 3: End Sub

Первая и третья строки этого макроса-процедуры являются заголовком и окончанием процедуры, соответственно. Причем MyFirstMacro - это имя макроса, под которым он будет узнаваем системой. Вторая строка макроса содержит функцию вывода диалогового окна с текстом "Макрос в Word!". Если учесть, что в Windows по-другому вывести информацию из любой программы довольно трудно и чаще всего не нужно, то можно считать, что вторая строка содержит обычный оператор вывода на экран.

-Теперь можно выполнить контрольный запуск макроса, не выходя из Редактора. Выберите Run | Run Sub/UserForm. Результатом работы макроса будет выдача на экран диалогового окна.

-Попытка запустить макрос на выполнение может оказаться неудачной. Вместо этого вы можете увидеть на экране окно предупреждения. В этом случае закройте Редактор VB (File | Close and Return to Microsoft Word). Выберите Tools | Options. В окне Options на вкладке Security щелкните кнопку

Macro Security (или выберите Tools | Macro | Security).

В окне Security выберите переключатель Low (или Medium) и закройте окно кнопкой ОК, но при этом помните о том, что вы снижаете уровень безопасности на своем компьютере при работе с макросами.

1.5. Запись новых макросов

Обычно запись макроса включает четыре основных шага: 1. Задание стартовых условий для макроса. Это означает задание тех условий вашей рабочей среды, которые должны

22

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]