VBA для «чайников» - [7]
Добавление новых возможностей
VBA оказывается как раз кстати, когда необходимо расширить функциональные возможности приложения. Предположим, вы пожелали, чтобы в первый понедельник каждого месяца на всех создаваемых вами компьютерных иллюстрациях появлялись красные звездочки, а в каждый второй вторник- синие сердечки. Вправе ли вы ожидать, что разработчики графического приложения предусмотрели ваши пожелания? Используя строительные блоки, предоставленные в ваше распоряжение разработчиками данного приложения, вы создадите VBA-программы, которые приблизят вас к мечте.
В самом простом случае VBA-программа просто содержит определенную последовательность команд, выполняя одну и ту же последовательность шагов при каждом запуске. Тем не менее даже в этом случае VBA-программа экономит ваше время по сравнению с необходимостью активизировать каждую команду последовательности вручную.
Например, в Microsoft Word нет команды для сохранения выделенного блока текста в отдельном файле. Для решения этой задачи вам придется скопировать выделенный текст в буфер обмена, создать новый документ, скопировать в него содержимое буфера, сохранить и закрыть этот новый документ. С помощью VBA можно создать небольшую программу, которая выполнит все эти шаги автоматически (тем самым обеспечив пользователю Word возможность, которую большинство других текстовых процессоров имеют еще со времен СР/М, - операционной системы, использовавшейся на самых первых персональных компьютерах). VBA-код такой программы может выглядеть примерно так:
>Public Sub CopyBlockToFile( )
Selection.Range.Copy ' копирует выделенное
' в буфер обмена
Documents.Add ' создает новый документ
Selection.Range.Paste ' вставляет содержимое буфера
' в новый документ Dialogs(wdDialogFileSaveAs).Show
' открыват диалоговое ACtiveDocument.Close
' окно Сохранение документа
End Sub ' закрывает новый документ
Но, поскольку VBA полноценный язык программирования, VBA-программа совсем не обязана следовать в точности одним и тем же шагам при каждом запуске. Напротив, она должна всякий раз действовать в соответствии с теми условиями, которые обнаруживает после своего запуска. Вот несколько примеров того, как это должно выглядеть.
* Во время запуска VBA-программа может отвечать на то, что делает в данный момент приложение, или на конкретные установки системы в целом. В случае упомянутого примера с Word, можно потребовать, например, чтобы программа сохраняла новый документ, если только некоторый текст уже выбран, а иначе ей предписано только чесать затылок и поглаживать животик. Подобным образом вы можете пожелать, чтобы ваша программа выполняла одни действия утром, а другие - вечером.
* VBA-программа может (в зависимости от содержимого текущего документа) выполнять определенные действия с другим документом того же или другого приложения.
* VBA-программа может отвечать на информацию, вводимую пользователем во время работы программы (рис. 1.2). С помощью VBA легко создавать диалоговые окна, предлагающие пользователю либо выбрать из списка заранее определенных возможностей, либо ввести некоторый текст или числовые значения.
* VBA-программа может менять свое поведение в зависимости от текущего знака Зодиака или фазы Луны. (Здесь, к сожалению, вам еще придется написать программный код, осуществляющий перевод даты и времени в соответствующие знак Зодиака и фазу Луны.)
Рис. 1.2. Если для продолжения работы программы требуется определенная информация от пользователя, можно создавать диалоговые окна, подобные этому.
Как практически заставить VBA-программы реагировать на изменение условий, мы подробно обсудим в следующих главах.
Создание более сложных программ
Создавать VBA-программы, добавляющие функциональные возможности существующим приложениям, может каждый, кто способен запомнить свое школьное расписание или прочитать за завтраком инструкцию на упаковке с вермишелью быстрого приготовления.
Но вам будет не лишним знать, что совсем не обязательно ограничиваться минимальными изменениями и усовершенствованиями существующих приложений; VBA позволяет создавать полноценные и в высшей степени сложные программы, способные конкурировать с мощью готовых продуктов, имеющихся на рынке приложений.
Пользовательские программы, созданные с помощью VBA, интенсивно используют функциональные возможности того VBA-приложения. на которое они опираются (пользовательская
VBA-программа сумеет использовать функциональные возможности из нескольких VBA приложений одновременно). Однако перед пользователем такая программа предстает как цельный самостоятельный объект со своим собственным набором окон, кнопок и меню.
Создание полномасштабной пользовательской программы - штука достаточно амбициозная. Но эта книга предлагает практически всю необходимую для этого информацию, в том числе и вводное описание способов одновременного доступа из программы к нескольким VBA-приложениям.
Кстати, VBA не обязывает вас использовать функциональные возможности приложения.
При желании совершенно игнорируйте их, используя только созданные самостоятельно. Но для запуска даже такой пользовательской программы все равно потребуется VBA-приложение (между прочим, в Visual Basic такой проблемы нет). Здесь вас подстерегает еще одна неприятность, но о ней мы поговорим позже, в подразделе Почему VBA обычно медленнее, чем Visual Basic.
В учебно-методическом пособии рассматриваются основы языка программирования PL/SQL, реализованного в системе управления базами данных Oracle Database Server. Приводятся сведения о поддерживаемых типах данных, структуре программ PL/SQL и выполнении SQL-предложений в них. Отдельно рассмотрено создание хранимых в базах данных Oracle программ PL/SQL – процедур, функций, пакетов и триггеров.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В этой книге содержится описание базовых принципов функционирования платформы .NET, системы типов .NET и различных инструментальных средств разработки, используемых при создании приложений .NET. Представлены базовые возможности языка программирования C# 2005, включая новые синтаксические конструкции, появившиеся с выходом .NET 2.0, а также синтаксис и семантика языка CIL. В книге рассматривается формат сборок .NET, библиотеки базовых классов .NET. файловый ввод-вывод, возможности удаленного доступа, конструкция приложений Windows Forms, доступ к базам данных с помощью ADO.NET, создание Web-приложений ASP.NET и Web-служб XML.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИИнформационная технологияРУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯInformation technology. Guidelines for the management of software documentationИздание официальноеДата введения 1994-07-01ГОССТАНДАРТ РОССИИ Москва© Издательство стандартов, 1994.
Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы.