Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Контрольная работа - Язык программирования VBA - файл 1.doc


Контрольная работа - Язык программирования VBA
скачать (217.5 kb.)

Доступные файлы (1):

1.doc218kb.16.11.2011 21:01скачать

содержание
Загрузка...

1.doc

Реклама MarketGid:
Загрузка...
Министерство образования Республики Беларусь

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ


Строительный факультет

Кафедра экономики строительства


КОНТРОЛЬНАЯ РАБОТА №3

по дисциплине «Информатика»

Вариант №8


Выполнил: Студент 2 курса

группы 312319

факультета экономика в

строительстве

Иванец Т.А.


Проверил: старший преподаватель

Гусева Л.П.


Минск 2011

1. Язык программирования VBA. Технология визуального программирования. Понятие объектно-ориентировочного программирования. Объекты и их семейства. Классы. Иерархия объектов. Методы, свойства, события.

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

Следует заметить, что, будучи развитым языком программирования, VBA также включает в себя полноценную интегрированную среду разработки с полным набором специализированных окон, упрощающих проектирования, откладку и тестирование программ. Интегрированная среда разработки VBA представлена приложением, называемым редактором Visual Basic. Этот редактор имеет типичное для приложения Windows окно с панелью меню и целым набором панелей инструментов, которые позволяют получить доступ к целому ряду окон, предоставляющих инструментальные средства, необходимые для создания программ. Кроме того, редактор VBA включает специализированные средства для быстрого создания пользовательского интерфейса, что превращает его в визуальную среду разработки приложений.

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

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

Одним из важнейших понятий объектно-ориентировочного программирования является понятие класс, описывающее типовую структуру сходных по назначению элементов. В системе хранится программное описание каждого описанного в ней класса, на основании которого при необходимости создаются экземпляры объектов, представляющие собой конкретные элементы программной среды. Экземпляры объектов данного класса содержат реальные данные. Например, в программе может быть описан класс кнопки, отображаемой в окнах приложения. Каждая отдельная кнопка (экземпляр объекта этого класса) в любом окне приложения создаются на основании этого описания, но отличается от других своими свойствами (размером, цветом, надписью, выполняемой по щелчку операцией и т.д.). В частности, сами приложения Microsoft Access, Excel, PowerPoint, Word и т.д. также представлены в среде Windows объектами, принадлежащими к общему классу объектов – классу приложения VBA.

Класс определяет назначение объекта, его свойства и те действия, которые могут быть выполнены над этим объектом. Каждый класс объектов может содержать один или несколько подклассов (Рис. 1.). Объекты, принадлежащие к определенному классу объектов, называются членами этого класса. На основании одного класса можно создать сколько угодно самостоятельных объектов для дальнейшего использования каждого из них в различных целях. Например, при открытии или создании документа в приложении Word создается экземпляр объекта класса Document – Document1, при открытии следующего документа будет создан еще один экземпляр объекта этого же класса – Document2 и т.д. Все эти экземпляры объектов Document1, Document2,…будут принадлежать к одному и тому же классу Document приложения Word и являться членами коллекции Documents.

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



Рис. 1. Иерархия классов

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

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

Некоторые свойства объекта при необходимости можно изменять – такие свойства называются доступными для чтения и записи. В качестве примера такого свойства можно привести значение, сохраняемое в поле ввода, - в процессе работы программы оно может многократно изменяться в зависимости от того, что пользователь будет вводить в это поле. Другие же свойства позволяют выяснить только свои значения, но не предоставляют возможности эти значения. Такие свойства объекта называются доступными только для чтения.

Использовать свойства объекта можно двумя способами: либо получить текущее значение свойства, либо установить новое значение свойства. Чтобы получить текущее значение свойства, нужно указать имя этого свойства в некотором выражении – по тому же принципу, который используется при вызове встроенных функций или собственных процедур типа Function. Иначе говоря, следует присвоить это свойство некоторой переменной в операторе программного кода. Для этого используются следующий синтаксис: Переменная = Оbject.Имя.

Здесь Переменная – любая допустимая переменная, object – ссылка на требуемый объект, а Имя – имя свойства того объекта, на который выполняется ссылка.

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

Object.Свойство = ЗначениеСвойства

Здесь Object – ссылка на требуемый объект, Свойство – то свойство объекта, которому присваивается новое значение, ЗначениеСвойство – любое допустимое выражение VBA соответствующего типа. Одно и то же свойство можно изменять сразу у всех объектов, принадлежащих одной группе, для которой определено собственное имя. Например:

Worksheets.Visible = False

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

Любые свойства, как и переменные, хранят данные определенного типа – чаще всего это один из числовых типов, строковый тип или тип Boolean. Многие объекты имеют свойства, значения которых принимаются по умолчанию – они присваиваются этим свойствам при создании объекта, когда для них не задается какое-либо конкретное значение.

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

Object.Метод

Если метод имеет аргументы, используется следующий синтаксис:

Object.Метод Аргумет1, Аргумент2, Аргумент3…

В обоих случаях Object – это имя объекта, которому принадлежит вызываемый метод, Метод – имя метода, а Аргумент1, … - список аргументов метода. Как и в случае обычных процедур, методы могут иметь аргументы или не иметь их совсем, при этом аргументы методов могут быть как обязательными, так и необязательными. Если метод имеет несколько аргументов, то такие аргументы в списке разделяются запятой и перечисляются в определенном порядке.

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

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

В среде Office события происходят на уровне документа или на уровне объектов в документе, например к событиям можно отнести открытие и закрытие документа, добавление и удаление страниц (такие события в Word распознаются объектами Application и Document). А в некоторых случаях события происходят на уровне приложения.

^ 2. Инструкции VBA: операторы повтора (Do...Loop Until, Do While...Loop)

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

Общий вид оператора Do While:

Do [While выражение]


[инструкции]


[Exit Do]


[инструкции1]


Loop




Оператор Do While предназначен для организации цикла-пока.

Инструкции будут выполняться пока выражение будет истинно. Конструкция Exit Do предназначена для преждевременного выхода из цикла.

Пример. Вычислить сумму чисел от 0 до 100.

Sub сумма2()

Dim x, s As Double

x = 0

s = 0

Do While x <= 100

s = s + x

x = x + 1

Loop

MsgBox ("s=" + Str(s))

End Sub

Оператор Do Loop Until

Общий вид оператора Do Loop Until:

Do


[инструкции]


[Exit Do]


[инструкции1]


Loop [Until выражение]




Оператор Do Loop Until предназначен для организации цикла-до.

Инструкции будут выполняться до момента, когда выражение станет истинным. Конструкция Exit Do предназначена для преждевременного выхода из цикла.

Пример. Вычислить сумму чисел от 0 до 100.

Sub сумма3()

Dim x, s As Double

x = 0

s = 0

Do

s = s + x

x = x + 1

Loop Until x > 100

MsgBox ("s=" + Str(s))

End Sub


3. Составить программный код для решения следующей задачи. Для заданных массивов X(n), Y(n) определить сумму произведений Xi*Yi>0 и номер минимального элемента массива X. Вывод результата расчета организовать с помощью встроенной процедуры MsgBox и в окно Immediate с использованием функции Format.

Sub Calc()

Dim x(10) As Integer

Dim y(10) As Integer

For i = 1 To 10

x(i) = Int(Rnd * 101)

y(i) = Int(Rnd * 101)

min_ = x(1)

If min_ > x(i) Then min_ = x(i)

sum = sum + x(i) * y(i)

Next i

MsgBox "Минимальный элемент = " & min_

MsgBox "sum xi*yi = " & sum

End Sub





Программа в работе: После запуска программы на выполнение:





Программу можно запустить через окно Immediate: набрав команду и нажав Enter











x(i) = Int(Rnd * 101)




y(i) = Int(Rnd * 101)






min_ = x(1)





Да нет



min_ = x(i)



sum = sum + x(i) * y(i)



















Литература

  1. Слепцова Л.Д. Программирование на VBA – Москва, 2004г. 374с.

  2. Гарбер Г.З. Основы программирования на VBA в Excel 2007 – Москва, 2008 г. 189с.

  3. Уокенбах Д. Профессиональное программирование на VBA в Excel 2003. Москва – 2005 г. 799с.





Скачать файл (217.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru