Федеральное агентство по образованию
Государственное образовательное учреждении е высшего
профессионального образования
Уфимский государственный авиационный технический университет
Филиал в г. Нефтекамске
Кафедра электромеханики
ОТЧЁТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №1
ОСНОВЫ ВИЗУАЛЬНОГО ПРОРАММИРОВАНИЯ В СРЕДЕ VBA
по дисциплине
«Введение в визуальное программирование»
Выполнили: студент гр. ЭССН-208 Юрков Е.В.
студент гр. ЭССН-210 Шайсламов А.Ф.
Проверил: Валеев А.Р.
Нефтекамск 2008
Цель работы:
Целью данной работы является изучение основ программирования в среде VBA и принципов взаимодействия средств визуального программирования с приложением MicrosoftOfficeExcel.
Задание
Разработать диалоговую форму, которая автоматически открывается при загрузке рабочей книги. При нажатии на кнопку «Сформировать» должны быть созданы новые рабочие листы, каждый из которых содержит шаблон MeasureResults
. Форма содержит элемент управления Текстовое поле (TextBox
), в которое пользователь вводит количество новых рабочих листов. Вновь созданным рабочим листам присвоить имена Эксперимент №1, Эксперимент №2… и т.д. (использовать свойство Name
объекта Worksheets
). Создание новых рабочих листов должно завершиться выводом сообщения, в котором содержится информация о количестве созданных рабочих листов. Рабочую книгу сохраните под именем Книга1_3.
xls
.
Листинг программы
Раздел «Эта книга»
Private Sub Workbook_Open()
Dialog1.Show
End Sub
Раздел «Modules»
Sub MeasureResults()
ActiveWorkbook.Worksheets.Add
Range("A1").Value = "Название установки:"
Range("B2").Value = "Дата:"
Range("B3").Value = "ФИО исполнителя:"
Range("B4").Value = "Результаты эксперимента №1:"
Range("B5").Value = "Результаты эксперимента №2:"
Range("B6").Value = "Результаты эксперимента №3:"
Range("B7").Value = "Время окончания экспериментов:"
End Sub
Раздел «UserForm1»
Private Sub CommandButton1_Click()
Dim n, i As Integer
n = Val(TextBox1)
For i = 1 To n
MeasureResults
Next
For i = 1 To n
Worksheets(i).Name = "Эксперимент № " & i & ""
Next
MsgBox "Количество" & n
Dialog1.Hide
End Sub
Описание порядка выполнения работы
Для начало было прописано в «Модуле» процедура «MeasureResults», создающая новый лист в книге и шаблон для записи результатов эксперимента.
Через главное меню создали Форму пользователя. На которую поместили следующие компоненты: TextBox1, CommandButton1, Label1.
Прописываем автозагрузку наше формы в Workbook_Open(). Затем пишем код на саму кнопку, предварительно поменяв его Caption из «CommandButton1» в «Сформировать»
На кнопку прописываем код, состоящий из двух циклов. Первый отвечает за вызов процедуры «MeasureResults», а второй за переименование этих листов в «Эксперимент № ».
Ответы на контрольные вопросы
1) Перечислите состав и назначение окон редактора VisualBasic, используемых при создании макроса.
- окно Code (Код), заголовок окна «Книга 1-Module1(Code)», здесь записывается код команды;
- окно Project (Проект), заголовок окна, «Project-VBAProject» содержит объекты Excel и модули, используемые при разработке приложения. По умолчанию окно содержит четыре объекта: листы рабочей книг- Лист1, Лист2, Лист3, а также объект Эта Книга (ThisWorkbook), в котором и происходит вся работа с Excel;
- окно Properities (Свойство), заголовок окна «Properties-Module1», содержит перечень свойств выбранного объекта.
2) Объясните назначение макрорекордера.
С помощью макрорекордера Excel создает макрос путем записи всех действий пользователя – выбор команды меню, нажатия на клавишу и других действий, необходимых пользователю.
3)Перечислите основные объекты, входящие в объектную модель MSExcel.
Объектная модель MSExcel имеет иерархическую структуру. На вершине объектной модели находится объект Application-само приложение Excel. Объект Application содержит другие объекты, например:Workbooks, windows, addins.
4) ПримератрибутовобъектаWorkSheets
-ChartObjects-коллекция элементов диаграмм ChartObjects;
-Range-диапазон;
-PageSetup-параметры страницы;
-PivotTables-коллекция сводных таблиц PivotTable
5) Чтобы макрос автоматически запускался при запуске в Excel, запишем его имя макроса в тело процедуры:
Private Sub Workbook_Open()
MeasureResults
End Sub
6) Диалоговое окно можно вывести на экран с помощью метода «Show» и закрыть с помощью метода «Hide»
7 и 8) Объектная модель Excel содержит множество коллекций. В данной работе мы уже встречались с коллекцией в строке кода:
ActiveWorkBook.WorkSheets.Add
WorkSheets- это коллекция объектов WorkSheet (Рабочий стол).Но кроме того, WorkSheets-это свойство объекта ActiveWorkBook (Активная рабочая книга). Еще примеры коллекции; Workbooks- коллекция всех открытых рабочих книг; Charts-коллекция листов с диаграммами в рабой книге; Rows- все строки рабочего листа.
Все коллекции имеют атрибуты (свойства и методы), позволяющие получить доступ к отдельным объектам этих коллекций.