Работа с объектами в приложениях MicroSoft Office

Министерство  Образования и Науки Российской Федерации

Санкт-Петербургский  Государственный Университет Технологии и Дизайна

Кафедра Прикладной информатики 

 

 

Дисциплина

Высокоуровневые методы информатики и программирования

Курсовая  работа

Объектно  – ориентированное программирование в приложениях Windows

Тема: Работа с объектами в приложениях MicroSoft Office

(Индивидуальное  задание: «Проект создания коттеджного поселка в пригороде Спб»).

 

 

 

 

Работу  выполнил

Студентка Путилова Т.Е.

группа 2-МД-11

 

Работу  принял:

Ст. Пр. М. А. Ермина

Доц. Ф. Л. Хватова

 

 

 

 

 

 

 

2012год

 

Содержание

 

1. Visual Basic. Общие сведения……………………………………….……..…3

2. Понятие объектов и классов…………………………………………….........4

3. Свойства, методы  и события………………………………………………....5

4. Формы и их модули …………………………………………………..……...6

5. Титульный лист к курсовой работе ………………………………………7-8

6. Создание Титула  на рабочем листе с помощью  процедур обработки событий в  UserForm …………………………………………………..…..…9-10

7. Определение диапазона для создания таблицы - протокола  и создание заголовка таблицы…………………………….…………………………….11-12

8. Создание формы  по заполнению таблицы………………………………………………………………….…..13-15

 

9. Оформление  внешнего вида элементов объекта……………………….16-18

10. Анализ  табличных  данных и их графическое   отображение…………19-22

 

11. Заключение………………………………………………………………….23

 

 

 

 

 

 

 

 

 

 

Visual Basic. Общие сведения

  Язык программирования Visual Basic (VB) используется для создания приложений в разнообразных областях деятельности человека, так как в основе языка заложены самые современные технологии программирования, такие как использование программных компонентов ActiveX, модель составных объектов COM (Component Object Model), интегрированная среда разработки IDE (Integrated Development Environment).

 

Microsoft Visual Basic – средство разработки программного обеспечения, которое разрабатывается корпорацией Microsoft и включает в себя язык программирования и среду разработки. Язык Visual Basic унаследовал синтаксис и стиль языка Бейсик. Visual Basic сочетает в себе элементы и процедуры объектно-ориентированных и компонентно-ориентированных языков программирования. В среду разработки входят инструменты для визуального конструирования пользовательского интерфейса.

 

Visual Basic — это  последняя версия одного из  популярных языков программирования. В настоящее время с помощью Visual Basic можно быстро создавать приложения, работающие в среде Windows для любой области компьютерных технологий: бизнес-приложения, мультимедиа, приложения типа клиент — сервер и приложения управления базами данных. Кроме того, Visual Basic является встроенным языком для приложений Microsoft Office. Многие разработчики приложений также используют Visual Basic в качестве внутреннего языка своих приложений.

 

Visual Basic представляет  собой интегрированную среду разработки, которая содержит набор инструментов, облегчающих и ускоряющих процесс разработки приложений. Причем процесс разработки заключается не в написании программы (программного кода), а в проектировании приложения. Приложение формируется средствами графического редактирования (компоновки), что позволяет свести процесс создания программного кода к минимуму.

 

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

 

 

 

Понятие объектов и классов

Как и во всех современных системах визуального  проектирования, в Visual Basic применяется  объектно-ориентированный подход к программированию. Любое приложение, написанное на Visual Basic, представляет собой совокупность объектов.

 

Объект —  некая сущность, которая четко  проявляет свое поведение и является представителем некоторого класса подобных себе объектов. Почти все, с чем производится работа в VB, является объектами. Например: Форма, Командная кнопка, Текстовое поле и т. д.

 

Каждый объект характеризуется:

 

свойствами;

методами;

событиями.

 

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

 

Главным объектом при создании проекта Visual Basic  является форма. 

 

Форма - это главный  элемент разрабатываемого приложения, на котором располагаются другие элементы. Все проекты, создаваемые на Visual Basic, содержат формы. Одни состоят из одной, другие из нескольких форм. Так же разрабатываемое приложение может состоять всего из одной формы, но она не будет видна, вообще, или будет располагаться только иконка в трее.

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

Как и все  объекты в Visual Basic, объект-форма имеет  свойства. Чаще всего не все свойства доступны в окне свойств, некоторые  из них доступны только во время  выполнения программы.

 

 

Свойства, методы и события

Свойство —  это имеющий имя атрибут объекта. Свойства определяют характеристики объекта (цвет, положение на экране, состояние объекта).

 

Методы —  это действия или задачи, которые  выполняет объект (то, что можно  делать с объектами).

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Формы и их модули

 

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

 

Различают модули двух типов: стандартные модули и модули класса.

 

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

 

 

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

 

 

 Модуль формы может  содержать:

 

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

 

 

- Процедуры. Процедуры Sub, Function или Property содержат части кода, который может быть выполнен как модуль.

 

 

 

 

 

 

 

Титульный лист к курсовой работе

 

 

Титул к курсовой работе создаётся на основе свойств и методов рабочего листа.

 

Код программы:

Private Sub CommandButton1_Click()

With Range("B3:P43")

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlCenter

.WrapText = True

.MergeCells = True

.Font.Italic = True

.Font.Size = 22

.Value = "Таисия Путилова 2-МД-11 Проект создания коттеджного поселка"

.Interior.ColorIndex = 27

Range("B3:P43").BorderAround ColorIndex:=4, Weight:=xlThick

End With

With Image1

.Visible = True

.PictureSizeMode = fmPictureSizeModeZoom

.PictureAlignment = fmPictureAlignmentTopLeft

.BorderStyle = fmBorderStyleSingle

.BackColor = RGB(200, 0, 0)

.Picture = LoadPicture("D:\taya\ПИКТУРЫ\nfz\DSC_1129.jpg")

End With

End Sub

 

Private Sub CommandButton2_Click()

UserForm1.Hide

End Sub

 

Private Sub Image1_Click()

End Sub

 

 

 

 

 

 

 

 

 

 

 

 

 

Создание  Титула на рабочем листе с помощью  процедур обработки событий в UserForm

 

Порядок работы:

- Открыть созданную  ранее  рабочую книгу.

 

- В проводнике Project Explorer выполнить правой кнопкой мыши ЭтаКнига→Insert→ UserForm.

 

- В появившийся  макет формы внедрить кнопку ComandButton1, ComandButton2, Image1, применив к ним свойства Caption, Font, BackColor в открытом окне  Properties Windows(см. Панель инструментов или кн. F4).

 

- Двойным Click по кнопкам создать шаблоны   для процедур обработки событий. В первую процедуру скопировать программный код ранее созданного диапазона в рабочем листе «Титул». В нее же включить для Image1 следующие значения свойств:

 

 

Код программы:

Private Sub CommandButton1_Click()

With Range("B3:P43")

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlCenter

.WrapText = True

.MergeCells = True

.Font.Italic = True

.Font.Size = 22

.Value = "Таисия Путилова 2-МД-11 Проект создания коттеджного поселка"

.Interior.ColorIndex = 27

Range("B3:P43").BorderAround ColorIndex:=4, Weight:=xlThick

End With

With Image1

.Visible = True

.PictureSizeMode = fmPictureSizeModeZoom

.PictureAlignment = fmPictureAlignmentTopLeft

.BorderStyle = fmBorderStyleSingle

.BackColor = RGB(200, 0, 0)

.Picture = LoadPicture("D:\taya\ПИКТУРЫ\nfz\DSC_1129.jpg")

End With

End Sub

 

Private Sub CommandButton2_Click()

UserForm1.Hide

End Sub

 

Private Sub Image1_Click()

End Sub

 

 

 

 

 

 

 

 

Определение диапазона для создания таблицы - протокола  и создание заголовка таблицы

Порядок работы:

 

- Определелить  диапазон на рабочем листе  с именем «Протокол» для создания  таблицы - протокола  в соответствии  с генеральным списком полей  в задании.

 

 

- Создать форму  : Project Explorer→ЭтаКнига →Insert→UserForm. Внедрить в форму две кнопки с указанными надписями.

 

 

- Создать две  процедуры обработки событий  двойным Click  по каждой из  кнопок. В первую процедуру включить  свойства и методы для выбранного  вами диапазона. В процедуру  обработки событий по первой  кнопке целесообразно включить  ввод наименования каждого поля в ячейки строки с помощью  функции InputBox("Ввести наименование поля") в цикле, параметрами которого будут ссылки на номера столбцов выбранного диапвзона.

 

 

- Создать процедуру  инициализации для открытия формы: Sub UserForm_Initialize()

UserForm2.Show

End Sub

 

 

- Заполнить  строку наименования  полей таблицы  с применением необходимых свойств  и методов для указанного диапазона.  В примере(см. ниже) выбран диапазон  B2:К23, в котором будет располагаться протокол – таблица, со  строкой 2 в диапазоне  B2:К2 для заголовков.

 

 

Код программы:

Private Sub CommandButton1_Click()

Range("B2:K2").Clear

Range("B2:K2").BorderAround Weight:=xlThick

Range("B2:K2").VerticalAlignment = xlCenter

Range("B2:K2").HorizontalAlignment = xlCenter

With Range("B2:K2")

'ActiveSheet

.WrapText = True

End With

For i = 2 To 11

Cells(2, i).Value = InputBox("Ввести наименование поля")

Next i

End Sub

 

Private Sub CommandButton2_Click()

UserForm2.Hide

End Sub

 

 

 

 

 

 

Создание  формы по заполнению таблицы 

Порядок работы:

 

- Создать форму  указанным  ранее  способом.

 Внедрить  в форму текстовые поля(TextBox), Label(метки), кнопки(см. ниже)

 

- Заполнить/добавить  таблицу значениями по полям.  При обращении к каждому полю  необходима проверка на «пусто»  в начальной ячейке строки. Это выполняет следующий фрагмент процедуры в процедуре обработки событий по первой кнопке:

 

 

- Применить   в данной процедуре к выбранному  диапазону соответствующие свойства  и методы

 

 

Код программы:

Sub UserForm_Initialize()

With ComboBox1

.AddItem "OOO Строймаркт"

.AddItem "Эко-строй"

.AddItem "ФинСэйл"

.AddItem "ООО Эверест"

.AddItem "Future Design"

.AddItem "Cotton"

.AddItem "Модуль Форм"

.AddItem "И-Кар"

.AddItem "ООО Каст-строй"

End With

End Sub

 

 

Private Sub CommandButton1_Click()

With Range("B3:K30")

For i = 2 To 30

If Cells(i, 2) = Empty Then

Cells(i, 2) = Val(TextBox1)

Cells(i, 3) = (TextBox2)

Cells(i, 4) = Val(TextBox3)

Cells(i, 5) = Val(TextBox4)

Cells(i, 6) = (ComboBox1)

Cells(i, 7) = (TextBox6)

Cells(i, 8) = (TextBox7)

Cells(i, 9) = (TextBox8)

Cells(i, 10) = (TextBox9)

Cells(i, 11) = Val(TextBox10)

 

Exit For

End If

Next i

End With

End Sub

 

 

 

Private Sub CommandButton2_Click()

 

UserForm3.Hide

 

End Sub

 

Private Sub UserForm_Click()

 

End Sub

Заполненная таблица

 

 

 

 

 

 

 

 

 

 

 

 

 

Оформление  внешнего вида элементов объекта

   Для того, чтобы оформить таблицу, собираем Форму вышеуказанными способами. Заносим нужные нам элементы: Стили, Фон заголовка и фон таблицы, Шрифты заголовка и таблицы.

 

Форма выглядит так:

Код программы:

 

Private Sub CommandButton1_Click()

With Range("B2:k22")

 

'Стили

 

If OptionButton1.Value = True Then

.Interior.Pattern = xlGray25

End If

If OptionButton2.Value = True Then

.Interior.Pattern = xlCrissCross

End If

If OptionButton3.Value = True Then

.Interior.Pattern = xlVertic

End If

 

'Фон заголовков

If OptionButton4.Value = True Then

Range("B2:k2").Interior.Color = RGB(255, 0, 0)

GoTo V

End If

If OptionButton5.Value = True Then

Range("B2:k2").Interior.Color = RGB(0, 0, 255)

GoTo V

End If

If OptionButton6.Value = True Then

Range("B2:k2").Interior.Color = RGB(0, 255, 0)

GoTo V

End If

V:

'Фон таблицы

If OptionButton7.Value = True Then

Range("B3:k22").Interior.ColorIndex = 33

GoTo C

End If

If OptionButton8.Value = True Then

Range("B3:k22").Interior.ColorIndex = 22

GoTo C

End If

If OptionButton9.Value = True Then

Range("B3:k22").Interior.ColorIndex = 44

GoTo C

End If

If OptionButton10.Value = True Then

Range("B3:k22").Interior.ColorIndex = 15

GoTo C

End If

C:

'Шрифт заголовка'

If OptionButton11.Value = True Then

Range("B2:k2").Font.FontStyle = "обычный"

GoTo G

End If

If OptionButton12.Value = True Then

Range("B2:k2").Font.FontStyle = "полужирный"

GoTo G

End If

If OptionButton13.Value = True Then

Range("B2:k2").Font.FontStyle = "полужирный курсив"

GoTo G

End If

G:

'Шрифт таблицы'

If OptionButton14.Value = True Then

Range("B3:k22").Font.FontStyle = "обычный"

GoTo F

End If

If OptionButton15.Value = True Then

Range("B3:k22").Font.FontStyle = "полужирный"

GoTo F

End If

If OptionButton16.Value = True Then

Range("B3:k22").Font.FontStyle = "полужирный курсив"

GoTo F

End If

F:

End With

End Sub

Private Sub CommandButton2_Click()

UserForm3.Hide

End Sub

 

 

 

 

 

 

 

 

Анализ  табличных данных и их графическое  отображение.

 

Одним из самых  распространённых и удобных способов анализа табличных данных является График - наглядное представление зависимости между числами или величинами.

 

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

 

Вставляем в  поле таблицы графический элемент (я использовала обычный прямоугольник), при нажатии на него правой кнопкой мыши мы видим меню. Для того, чтобы связать кнопку в таблице и макрос выбирает пункт «Назначить макрос…». После появления контекстного меню, мы должны обозначить объект, который будет активным и будет открывать макрос и, непосредственно, путь к программному коду макроса.

 

 

 

 

 

 

 

Для создания графика, мы используем форму:

Код программы:

Private Sub CommandButton1_Click()

If OptionButton1.Value = True Then

График xlColumn, 6

Else

If OptionButton2.Value = True Then

График xlLine, 10

End If

End If

With Image1

.Visible = True

.Picture = LoadPicture("D:\taya\ПИКТУРЫ\Future\1-2-58-1_b95.jpg")

.AutoSize = True

.PictureAlignment = fmPictureAlignmentTopLeft

.BorderStyle = fmBorderStyleSingle

.BackColor = RGB(200, 0, 0) '3

End With

 

End Sub

Sub График(ТипГрафика As Integer, Формат As Integer)

'xlExponential

'xlLinear

'xlLogarithmic

'xlMovingAvg

'xlPolynomial

'xlPower

Dim area As Object

Set area = ActiveSheet.Range(Cells(2, 3), Cells(2, 13))

ActiveSheet.ChartObjects.Add(150, 20, 200, 190).Select

ActiveChart.ChartWizard Source:= _

Range("a3:b22"), _

Gallery:=ТипГрафика, Format:=4, _

PlotBy:=xlColumns, Categorylabels:=1, _

SeriesLabels:=0, HasLegend:=False, _

Title:="Стоимость  проекта", CategoryTitle:="№ проекта", _

ValueTitle:="Стоимость", ExtraTitle:=""

With ActiveChart

.ChartArea.Interior.ColorIndex = 15

.PlotArea.Interior.ColorIndex = 6   'xlPolynomial

End With

Trendlines.Add(Type:=xlLogarithmic, _

DisplayRSquared:=True).Select

 

End Sub

 

Private Sub CommandButton2_Click()

UserForm5.Hide

End Sub

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение

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

 




Работа с объектами в приложениях MicroSoft Office