Автоматизация приложений MS. язык VBA

11. Автоматизация приложений MS. язык VBA

Офисное программирование — это процесс разработки приложений, предназначенных для автоматизации офисной деятельности с использованием специализированных пакетов (MS Office, OpenOffice.org или подобных).

цели разработки;

область применения;

макроязык;

среда разработки;

поддержка объектно-ориентированного программирования.

Рассмотрим эти особенности на примере MS Office.

Цели разработки

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

Стандартные возможности среды по работе с документами велики. Однако возможность изменить типовой документ, снабдив его дополнительными функциями – это одна из важнейших задач офисного программирования. Для ее решения офисная среда представляет совокупность библиотек классов, которые составляют каркас (Framework) текстовых документов, электронных таблиц, презентаций, баз данных и приложений на основе этих документов. Всякий раз, когда создается новый документ, его каркас составляют объекты библиотек, заданные по умолчанию. Этот каркас можно существенно изменить, добавив в документ новые свойства. Расширение каркаса не требует от программиста значительных усилий – достаточно включить в него необходимые библиотеки классов.

Область применения

Область применения офисного программирования весьма и весьма широка – от настройки отдельных документов до решения задач автоматизации офисной деятельности масштаба предприятия, в т.ч. ориентированных на совместную работу в глобальной сети. Понятно, что это основное назначение офисных приложений, однако, средства офисного программирования применяют и для совсем других разработок, выходящих далеко за рамки офисной деятельности. Для наглядности приведем ряд примеров: программа биоритмов, написанная на VBA для Excel; ASCII art на музыкальный клип AC/DC ; макровирусы и множество других нетипичных офисных приложений.

Visual Basic for Application

Visual Basic для приложений (Visual Basic for Application, VBA) – это инструмент разработки приложений, который позволяет создавать программные продукты, решающие практически все задачи, встречающиеся в среде Windows. Эти продукты можно использовать, например, для оформления документов (подготовки текстов) или анализа данных таблиц (электронных таблиц).

VBA – уникальное приложение, поскольку оно встраивается в другое приложение и расширяет его функциональные возможности. Visual Basic for Application (VBA) - стандартный макроязык пакета Microsoft Office, предназначенный для расширения функциональных возможностей приложения в котором используется. С помощью VBA можно:

создать собственное диалоговое окно и придать ему требуемый внешний вид;

создать макросы, расширяющие функциональные возможности приложения, в которое встроен VBA;

изменить меню приложения Microsoft Office;

управлять другим приложением Microsoft Office или принадлежащими ему данными;

объединить данные из нескольких приложений Microsoft Office в одном документе;

автоматически создавать или изменять страницы Web, совместно используя приложения Microsoft Office и VBA.

Для разработчика доступны следующие инструменты и средства, которые используются при создании проекта VBA:

отладка приложений без предварительной компиляции;

средства Win32 API;

SQL и объекты доступа к данным для управления данными и извлечения их из внешних источников данных, таких как Microsoft SQL Server;

построение и проверка элементов интерфейса непосредственно в среде разработки VBA (Integrated Development Environment, IDE);

связывание программ и процедур с событиями, которые возникают в приложениях VBA.

Среда разработки

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

Среда MS Office предлагает два способа создания программ, отличающихся подходом к процессу: использование макрорекордера и Офисное программирование позволяет применять на практике идеи компонентного программирования. Компонентный подход предполагает взаимодействие компонентов, создаваемых в разных программных средах, на разных языках, на разных платформах и находящихся на разных машинах. Работа с компонентами (DLL, ActiveX, AddIns, ComAddIns) является неотъемлемой частью офисного программирования.

ручное кодирование (на языке VBA). Эти подходы ориентированы на разные категории: непосредственно пользователей и программистов соответственно.

Макрорекордер (MacroRecorder) – это программный инструмент, записывающий действия пользователя при работе с документами и приложениями, с сохранением записи в виде макроса -исходного кода на языке VBA. При вызове сохраненного макроса воспроизводится вся сохраненная последовательность действий.

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

Для программиста макрорекордер полезен тем, что позволяет создавать фрагменты программы автоматически, тем самым увеличивая скорость разработки и уменьшая время отладки.

Интегрированная среда разработки на VBA (Visual Basic Environment, VBE) - встроенное в MS Office средство для написания, тестирования и отладки приложений на VBA. Среда VBE представляет все возможности для создания законченных офисных приложений, включая средства визуального проектирования пользовательского интерфейса. VBE ориентирована на использование программистами для разработки офисных приложений (это отнюдь не означает, что пользователи не могут применять VBE).

Поддержка ООП

Разработка приложений для MS Office тесно связана с парадигмой объектно-ориентированного программирования. Все документы (более того, сами компоненты пакета) в MS Office - суть объекты, наделенные собственными наборами свойств (характеристик объекта), методов (подпрограмм управления свойствами) и событий (подпрограмм, обрабатывающих изменения состояния объекта в результате некоторых действий). Соответственно, для обеспечения более полной интеграции с пакетом, входной язык (VBA) также поддерживает ООП. Все объекты приложения MS Office образуют иерархическую структуру, которая определяет связь между ними и способ доступа. Такая структура называется объектной моделью (object model).

За рамки объектной модели выходят, но также могут использоваться в офисных приложениях, внешние объекты, поддерживающие технологии DDE, OLE/ActiveX и ряд других. В объектно-ориентированную концепцию удачно вписывается технология визуального программирования. Все отображаемые элементы графического интерфейса, такие как формы, элементы управления, меню и панели инструментов являются объектами, наделенными набором свойств и методов и способными реагировать на события (например, щелчки мыши, нажатия клавиш и т.п.). При визуальном подходе не требуется программного задания (хотя это и возможно) их основных свойств (например, ширина или высота, цвет фона и т.п.). Эти свойства можно задать при помощи мыши (например, ширину и высоту формы путем операции "перетаскивания" маркеров) или установить их в окне свойств (название формы, цвет фона формы и т. д.).

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

Преимущества офисного программирования

Преимущества, которые получает конечный пользователь, использующий программируемые офисные документы:

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

Пользователь находится в единой офисной среде независимо от того, с каким документом он работает в данный момент и какой программист разрабатывал этот документ.

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

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

Преимущества, которые получает программист, работающий в Office:

В распоряжении программиста находится мощная интегрированная среда. Для него эта среда представлена в виде совокупности хорошо организованных объектов, доступных в языке программирования и по принципу работы ничем не отличающихся от встроенных объектов языка или объектов, создаваемых самим программистом.

Большинство повседневных задач становятся для него простыми, – чтобы их решить, зачастую достаточно стандартных средств.

Там, где стандартных средств не хватает, где у документа должны появиться новые функциональные возможности, где необходимо создать документ по заказу, вступает в силу язык программирования – VBA, существенная особенность которого – возможность работы с объектами любого из приложений Office.

12. Комп.моделирование в экологии

В 1869 г. немецкий естествоиспытатель Эрнст Геккель предложил составной термин «экология» («эко» - дом, жилище, местопребывание и «логос» - наука, знание) как название раздела биологии, ставшего самостоятельным. Классич.экология - наука о взаимодействии организмов и окр.среды. Сегодня, говоря об экологии, чаще всего имеют в виду не классическую, а, так называемую, соц.экологию, оформившуюся как научное напр-е и напр-е общественно-политической деят-ти на 100 лет позднее, и занимающуюся проблемами охраны окр.среды, взаим-вием с ней человеческого сообщества.

Остановимся на некоторых понятиях. Под особью понимается отдельный индивидуум, отдельный организм. Популяция -это сов-ть особей одного вида, существующих в одно и то же время и занимающих опр.территорию. И сообщество - это сов-ть совместно сосуществующих популяций.

В классич.экологии рассматриваются взаимодействия нескольких типов:

• взаимодействие организма и окружающей среды;

• взаимодействие особей внутри популяции;

• взаимодействие между особями разных видов (между популяциями).

Модели в экологии:

1.Одновидовые модели: с дискретным временем, с непрерывным временем

2.Двувидовые модели: 2 популяции, хищник- жертва.

Цели построения моделей в экологии:

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

2. Модели выступают в качестве «общего языка», с помощью которого может быть описано каждое уникальное явл-е, и относительные св-ва таких явлений становятся более понятными.

3. Модель может служить образцом «идеального объекта» или идеализированного поведения, при сравнении с которым можно оценивать и измерять реальные объекты и процессы.

Особ-ти биолог. систем

• сложности внутреннего строения каждой особи;

• зав-ти условий жизнедеятельности организмов от многих факторов внешней среды;

• незамкнутости экологических систем;

• огромного диапазона внешних характеристик, при которых сохраняется жизнеспособность систем.

Модели внутривидовой конкуренции

1) Модель с дискретным временем, в кот. численность популяции в момент времени t равна N, и изменяется во времени пропорционально величине основной чистой скорости воспроизводства R. Такими видами являются, например, большая часть растений, некот.виды насекомых, у которых разные поколения четко разнесены во времени. Коэффициент R хар-ет кол-во особей, кот. воспроизводится в расчете на одну существующую, а также выживание уже существующих. Данная модель может быть выражена ур-ем

решение которого имеет вид

где N0- начальная численность популяции. Эта модель, однако, описывает популяцию, в кот.отсутствует конкуренция и в которой R явл-ся константой; если R>1, то численность популяции будет бесконечно увеличиваться.

Изменим модель, чтобы учесть конкуренцию.

Конкуренция-использ-е некот. ресурса(пищи, воды и т.д.) организмом, кот. тем самым уменьшает доступность этого ресурса для др.организмов

Типы динамик:

1.Монотонное установление стационарной численности популяции при b =1,4, R =2

1

2.Колебательное установление стационарной численности популяции при b =3,9, R =2

3.Устойчивые предельные циклы изменения численности популяции при b = 3,6, R = 4

4.Случайные изменения численности популяции при b = 4,4, R = 4

Построим фазовую плоскость границ, которые разделяют различные типы динамик. для этого задают нач. параметры a, N0 и производят расчеты, изменяя b и R

3

На рис. показана зависимость скорости воспроизводства от численности популяции. Точка А отражает ситуацию, в которой численность популяции близка к нулю, конкуренция при этом практически отсутствует. Поэтому скорость воспроизводства можно описывать параметром R и справедливо ур-е:

(1)

Точка В: численность популяции высока, проявляется внутривидовая конкуренция. скорость воспроизводства снижена. Кол-во родившихся особей = кол-ву погибших. Ур-е будет выглядеть след. образом:

(3)

где . Это ур-е представляет собой модель роста популяции, ограниченного внутривидовой конкуренцией. Суть этой модели в том, что константа R в уравнении заменена на фактическую скорость воспроизводства, т е. , которая уменьшается по мере роста численности популяции Nt. Такой тип конкуренции приводит к саморегуляции численности популяции,

R = 2, К = 200, N0 = 20

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

(4)

b определяет тип зависимости падения скорости роста популяции от ее численности.

2 Набор величин a, b, R разграничивает разные сист.

← Предыдущая
Страница 1
Следующая →

Офисное программирование. Особенности на примере MS Office. Область применения офисного программирования. Среда разработки. Поддержка ООП. Разработка приложений для MS Office

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

Искать ещё по теме...

Похожие материалы:

Сохранить?

Пропустить...

Введите код

Ok