Имитационная модель автоматизированного участка обработки деталей
Кроме того, существует свойство Range, которое возвращает объект Range. Данное свойство позволяет использовать ссылку на ячейку или область ячеек, обращаясь к ней как к аргументу. Правда, здесь имеется одно ограничение: ссылки должны записываться с применением относительной или абсолютной адресации только в стиле А1:
Range(Al")
Range("$ASl")
Свойство Range возвращает
объект Range, поэтому все свойства и методы, связанные с этим объектом, могут быть установлены посредством данного свойства. Свойство Range также может использоваться для возвращения объекта Range, который применяет ссылку на ячейку А1 (свойство Value возвращает значение ячейки А1):
Range('Al"). Value
Если ячейка А2 содержит формулу, то результат можно вычислить, воспользовавшись методом Calculate объекта Range, который возвращает свойство Range:
Range("A2").Calculate
Кроме того, воспользовавшись свойством Range, можно получить доступ к несмежным областям ячеек, а затем посредством одного оператора присвоить значение всем ячейкам. Это особенно удобно, если нужно присвоить всем ячейкам одинаковое значение:
Range("A3:B5.C3:D8").Value = 0
Свойство Range также можно использовать с двумя аргументами, которые указывают на ячейки, находящиеся в разных углах области ячеек, расположенных на одной диагонали. В частности приведенный ниже оператор выбирает ячейки области А1:С4:
Workbooks("Bookl").Sheets("Sheetl") Range{'Al","C4"}.Select
Процедуры и функции VBA
В VBA поддерживается следующая программная структура. На высшем уровне иерархии стоит приложение, далее идут проекты, связанные с фактическими документами этого приложения. На третьем уровне находятся модули (модули приложения, модули пользователя, модули класса, модули форм и модули ссылок), а на последнем — их процедуры и функции. Схематически такая иерархия показана на рисунке 1.1 [12].
Рисунок 1.1 – Программная структура в VBA
Модуль — это часть программы, оформленная в виде, допускающем ее независимую трансляцию. Модуль состоит из двух разделов: раздела объявлений (Declaration) и раздела процедур и функций. В первом разделе описываются глобальные переменные, типы, определенные пользователем, и перечисляемые типы, во втором — процедуры и функции. Вы уже знаете, как создаются и используются макросы. Все они сохраняются в документах или шаблонах программ Office 2003 в виде процедур, написанных на языке VBA. Процедурой называется фрагмент кода (минимальная семантически законченная программная конструкция), заключенный между операторами Sub и End Sub. Синтаксис процедуры следующий:
[Private | Public | Friend] [Static] Sub имя_процедуры (аргунент_1, аргумент_2. .аргумент_n)
<оператор VBA>
<оператор VBA>
…
<оператор VBA>
End Sub
Синтаксис функций несколько отличается от синтаксиса процедур, так как для функции необходимо указать тип возвращаемого ею значения:
[Private | Public | Friend] [Static] Function имя_функции (аргумент_1, аргумент 2, .
аргумент_n As тип_возвращаемого_значения
<оператор VBA>
<оператор VBA>
…
имя - вычисленное_значение
…
End Function
Ключевое слово Private задает следующую область видимости для процедуры - модуль, в котором она описана. Значит, ее могут вызывать только процедуры этого же модуля. Ключевое слово Public, наоборот, объявляет процедуру доступной для всех модулей проекта. С помощью ключевого слова Friend процедура или функция становится видимой только в том проекте, где был описан класс, членом которого она является. По умолчанию любая процедура общедоступна, то есть имеет статус Public. За операторами объявления следует необязательное ключевое слово Static, объявляющее все локальные переменные статическими (что такое статическая переменная, объясняется ниже).
Выполнение программного кода процедуры или функции происходит при передаче ей управления. Передача управления (вызов) может осуществляться различными способами. В общем случае подпрограмма вызывается из программного кода с помощью специального оператора Са11 , в котором кроме данного ключевого слова указываются имя процедуры и фактические параметры вызова, список которых заключается в круглые скобки.
Очень важную роль в программировании на VBA играет такая разновидность процедуры, как процедура без параметров. Процедуры данного типа могут выступать в роли командных макросов и процедур обработки событий. Схема работы с командными макросами не отличается от традиционной схемы работы с макросами. После создания подобного макроса с помощью редактора VBA ему можно назначить комбинацию клавиш для вызова, сопоставить его с командой меню или кнопкой на панели инструментов. Процедуры обработки событий представляют собой основу механизма связи событий с программным кодом для их обработки [8].
Функции в VBA, как правило, содержат списки параметров. Они не могут использоваться для обработки событий или, скажем, в качестве программных макросов. Вызывать же их можно как с помощью оператора Са11 , так и непосредственно в процессе расчета значения выражения VBA (из кода других процедур или функций) или формулы рабочего листа Excel.
Как правило, программа на языке VBA состоит из нескольких процедур и функций. Описание этих программных единиц хранится в модулях. Модули, в свою очередь, как составные части входят в проекты. Проекты сохраняются в файлах рабочих книг Excel 2003, но работать с ними можно лишь при наличии отдельного приложения — редактора Visual Basic. Если нужно вызвать процедуру или функцию, описание которой находится в другом модуле, ее имя при вызове указывается следующим образом: имя_модуля.имя_процедуры. Но если описание процедуры или функции содержится в другом проекте, при ее вызове следует использовать иной синтаксис: имя_проекта. имя_модуля. имя_процедуры.
Переменные в VBA
Описанные в процедурах VBA действия выполняются над переменными или объектами. Переменная — это поименованная область памяти, которая используется для хранения данных в течение работы процедуры. Переменные VBA аналогичны переменным других языков программирования. Использованию переменной обычно предшествует ее объявление посредством оператора D1 т, в котором указываются имя переменной и тип данных, для хранения значений которого она предназначена. Хотя такой оператор не является обязательным (VBA способен определять тип данных переменной по последнему символу ее имени: !, #, $, %, &, @), тем не менее, хороший стиль программирования требует предварительного описания всех используемых переменных. Имена переменных могут иметь длину до 255 символов (используются и символы кириллицы) и не должны содержать пробелов, знаков препинания и перечисленных выше специальных символов (за исключением символа @). Они не могут совпадать с ключевыми словами VBA и именами стандартных объектов.
Управляющие конструкции VBA
Другие рефераты на тему «Экономико-математическое моделирование»:
Поиск рефератов
Последние рефераты раздела
- Выборочные исследования в эконометрике
- Временные характеристики и функция времени. Графическое представление частотных характеристик
- Автоматизированный априорный анализ статистической совокупности в среде MS Excel
- Биматричные игры. Поиск равновесных ситуаций
- Анализ рядов распределения
- Анализ состояния финансовых рынков на основе методов нелинейной динамики
- Безработица - основные определения и измерение. Потоки, запасы, утечки, инъекции в модели