Реферат по предмету "Информатика, программирование"


Разработка приложения средствами VBA

Федеральноеагентство по образованию и науки
Кузнецкийинститут информационных и управленческих технологий
(филиал ПГУ)
Курсоваяработа
 
По дисциплине: Вычислительная техника ипрограммирование
Тема:Разработка приложения средствами VBA
Кузнецк 2008 г.

СодержаниеВведение1. Анализ задания2. Разработка интерфейса программы3. Разработка процедур3.1 Функциональное назначение процедур3.2 Описание процедур
4. Тестирование и отладка программы
Заключение
Список литературы
ВведениеVisual Basic forApplication (VBA) — объектно-ориентированный язык программирования(ООП), который позволяет создавать приложения (проекты) с развитым визуальныминтерфейсом. ООП можно описать как методику анализа, проектирования и написанияприложений, манипулируя объектами.
Языкбыл разработан в середине 1960-х годов профессорами Дартмутского колледжаДжоном Кемени и Томасом Курцом. Бейсик сравнительно несложен для изучения иподходит для разработки коротких и простых программ. В 1970-х годах он завоевалвсеобщее признание вследствие своей компактности и пригодности для первыхперсональных компьютеров с их ограниченным объемом памяти.
Приложение(проект) может включать модули, формы и связанные с приложением объекты,относящиеся к некоторому документу. Причем проект сохраняется вместе с самимдокументом. Модуль VBA содержитисходный код макроса, или программы, создаваемой пользователем.
Каждыйдокумент Word (или шаблон документа) можетсодержать один или несколько модулей, одну или несколько пользовательских форм,а может и не содержать никаких модулей и форм.
В VBA создание, редактирование, отладка изапуск на выполнение программ и макросов осуществляется средствамиинтегрированной среды разработки (средствами редактора VB). Чтобы перейти в интегрированную среду разработки из любогоприложения MS Office, достаточно нажать комбинацию клавиш Alt+F11  или выполнить команду
Сервис/Макрос/Редактор Visual Basic (Tools/ Macros /Visual Basic Editor).

/>/>/>/>1. Анализ задания
Создаем проект, состоящийиз нескольких частей:
ü  Документа ThisDocument. В нём будет прописан код для создания панели инструментов;
ü  программного модуля Module1, содержащего код процедур;
ü  пользовательской формы UserForm1, содержащей сообщение о разработчике проекта;
ü  пользовательской формы UserForm2, содержащей задание, выполняемое программой в UserForm3;
ü  пользовательской формы UserForm3, позволяющей решить задачу.
По заданию необходимо разработать приложение для созданияследующих функций:
1.  Автоматизировать работу с текстом:
2.  Составить алгоритм решения задачи: сколькоамёб будет через 3, 6, 9, 12,… 24 часа, если каждые 3 часа амёба делится на 2клетки.
3.  Вывести справку о разработчикепрограммы.
Для работы с текстомнеобходимо создать модуль, где будет прописано:
·  Открытие текстового документа;
·  Выделение первого абзаца;
·  Вырезание первого абзаца;
·  Вставка вырезанного абзаца в конецдокумента;
·  Форматирование вставленного абзаца;
·  Добавление границы к вставленномуабзацу;
·  Вывод формы «Задание»;
·  Вывод формы «Справка о разработчике».
Для вывода сведений о разработчике программы будет созданаформа.
Курсовая работа будет организована с помощью самостоятельно разработаннойпанели инструментов, при помощи которой будет происходить вызов всех процедур программыи форм.
/>/>/>/>2. Разработка интерфейса программы
Курсовая работареализована при помощи самостоятельно разработанной панели инструментов. Вданном проекте панель инструментов имеет 6 кнопок (см. Приложение А, рисунок1).
Кнопка «Открыть» – служитдля открытия документа с текстом по заданному пути.
Кнопка со списком«Перемещение»:
— Кнопка «Выделить» – приеё нажатии выделяется первый абзац документа.
— Кнопка «Вырезать» –вырезает выделенный абзац в Буфер обмена.
— Кнопка «Вставить» – вставляетабзац из Буфера обмена в конец документа с текстом.
Кнопка «Форматирование» –при нажатии этой кнопки к абзацу применяется прописанное в модулеформатирование.
Кнопка «Граница» –добавляет верхнюю, нижнюю, правую и левую границы к абзацу.
Кнопка «Задание» — вызывает форму для реализации решения задачи.
Кнопка с рисунком – при еёнажатии выводится сообщение о разработчике.
Базисом для созданияграфического интерфейса разрабатываемого проекта является форма. Новая формадобавляется в проект командой Insert– UserForm. На форме размещаются необходимыеэлементы управления. Основные элементы управления, доступные разработчику,размещены на панели инструментов «ToolBox», которая появляется, если нажата кнопка /> на панели инструментовредактора. Управляющие элементы имеют различное назначение:
§  Label – надпись, используется для выводаданных
§  TextBox – текстовое поле ввода
§  ComboBox – поле со списком
§  ListBox – окно списка
§  CheckBox — флажок
§  OptionsButton – переключатель
§  Frame – рамка
§  CommandButton –кнопка
§  Image – рисунок и т.д.
Интерфейс данного проектавключает в себя форму для вывода справки о разработчике проекта форму длявывода текста задания. Первая форма имеет имя «Справка о разработчике», вторая– «Задача». Форма «Справка о разработчике» содержит четыре поля Label (см. Приложение В, рисунок 2).Форма «Задача» имеет одно поле Label(см. Приложение В, рисунок 3). Для каждого элемента изменили свойство Caption (Заголовок) – Справка о разработчике иPicture (Картинка) – выбрали из коллекциикартинок, хранящейся на жёстком диске. В окне свойств Font для элементов изменили шрифт (Font) – на Courier New, размер – на 12 или 15 и тип шрифта – полужирный.
Для выполнения второгозадания работы добавляем в проект третью пользовательскую форму. Поместили наформу:
o  надпись, у которой изменили свойства:Caption – Label1 на «Введите начальное количество амёб», BackColor, Font – на Courier12пт.;
o  три текстовых поля TextBox; у них изменили свойство BackColor на оранжевый, Font на Tahoma;
o  кнопку CommandButton, при этом в окне свойств изменили:свойство Caption: CommandButton1 на «Результат», цвет (BackColor) на тёмно-оранжевый, свойство Font на Courier, полужирный, размер — 10пт.).
o  кнопку CommandButton, при этом в окне свойств изменили:свойство Caption: CommandButton2 на «Справка о разработчике», цвет (BackColor) на тёмно-оранжевый, свойство Font на Courier, полужирный, размер — 10пт.).
o  кнопку CommandButton, при этом в окне свойств изменили:свойство Caption: CommandButton1 на «Задача», цвет (BackColor) на тёмно-оранжевый, свойство Font на Courier, полужирный, размер — 10пт.).
В окне свойства Picture поменяли фон всей формы на рисунок (см.Приложение В, рисунок 1).
/>/>/>/>3. Разработка процедур/>/>/>/>3.1 Функциональное назначение процедур
Проект состоит из: 1)документа ThisDocument;
2) программного модуля Module1;
3) пользовательских форм UserForm1,UserForm2 иДеление_амёбы.
Программа открывающегосядокумента ThisDocumentсодержит процедуру Document_Open() –процедура, которая выполняется при открытии документа, и в которой прописан коддля создания панели инструментов(Application.CommandBars.Add(Name:=«Работа с текстом»,Position:=msoBarTop, menubar:=False, temporary:=True)). Также в ThisDocumentпрописаны коды для создания кнопокпанели инструментов «Работа с текстом».
Программный модуль Module1 содержит процедуры:
§ Кнопка1() – открытиедокумента по имени файла (Set WorkDoc = Documents.Open(FileName:=«A:\Моя курсовая работа\ Землетрясения.doc»)
Кнопка со списком,включающая в себя: — Кнопку2() – выделение первого абзаца после заголовка(ActiveDocument.Paragraphs(2).Range.Select) — Кнопку3() – вырезание первогоабзаца (ActiveDocument. Paragraphs (2).Range.Cut) — Кнопку4() – вставкавырезанного абзаца (ActiveDocument. Paragraphs(4).Range.Paste)
§  Кнопка5() – форматированиевставленного абзаца (Selection.Font)
§  Кнопка6() – добавление границы кпоследнему абзацу (ActiveDocument.Paragraphs(4).Borders(wdBorderBottom))
§  Кнопка7() – процедура вывода формы«Деление амёбы» для выполнения задания (Деление_амёбы.Show)
§  Кнопка8() – процедура вызова формы «Справкао разработчике» (см. Приложение С, Листинг 2).
/>/>/>/>3.2 Описание процедур
ThisDocument( Листинг программы см. ПриложениеС, Листинг 1):
Для создания новой панелиинструментов скрыли следующие панели инструментов: Стандартная (Standard), Форматирование (Formatting) и Рисование (Drawing) с помощью свойства Visible (=False).
Добавили новую панель припомощи функции Add, устанавливаяпри этом некоторые свойства: Name:= «Работа с текстом», Position:=msoBarTop, menubar:=False,temporary:=True). Visible= True.
Добавили Кнопку1 спомощью функции Add, установили еётип (Type:=msoControlButton, ID:=1) и прописали свойства (.Caption ‘заголовок’= «Открыть»; .Style ‘стиль’= msoButtonCaption; .TooltipText ‘текстподсказки’= «Открытие текстового документа»; .OnAction =«Кнопка1»).
Добавили кнопку сраскрывающимся списком с помощью функции Add, установили её тип (Type:=msoControlPopup), свойство Caption= “Перемещение” и функцию Controls. В список добавили: — Кнопку2 с помощью функции Add, установили её тип(Type:=msoControlButton, ID:=1) и прописали свойства (.Caption =«Выделить»; .Style = msoButtonCaption; .OnAction =«Кнопка2»). — Кнопку3 с помощью функции Add, установили её тип(Type:=msoControlButton, ID:=1) и прописали свойства (.Caption =«Вырезать»; .Style = msoButtonCaption; .OnAction =«Кнопка3»). — Кнопку4 с помощью функции Add, установили её тип(Type:=msoControlButton, ID:=1) и прописали свойства (.Caption =«Вставить»; .Style = msoButtonCaption; .OnAction =«Кнопка4»).
Добавили Кнопку5 спомощью функции Add, установили еётип (Type:=msoControlButton, ID:=1) и прописали свойства (.Caption =«Форматирование»; .Style = msoButtonCaption; .TooltipText =«Форматирование последнего абзаца»; .OnAction = «Кнопка5»).
Добавили Кнопку6 спомощью функции Add, установили еётип (Type:=msoControlButton, ID:=1) и прописали свойства (.Caption =«Граница»; .Style = msoButtonCaption; .TooltipText = «Добавлениеграницы»; .OnAction = «Кнопка6»).
Добавили Кнопку7 спомощью функции Add, установили еётип (Type:=msoControlButton, ID:=1) и прописали свойства (.Caption =«Задание»; .Style = msoButtonCaption; .TooltipText = «Выполнениезадачи»; .OnAction = «Кнопка7»).
Добавили Кнопку8 спомощью функции Add, установили еётип (Type:=msoControlButton, ID:=1) и прописали свойства (.Caption =«Справка»; .Style = msoButtonCaption; .TooltipText =«Справка»; .OnAction = «Кнопка8»).
Модуль ( Листинг программы см. Приложение С,рисунок 2):
Для Кнопки1 с помощьюоператора описания Dim обозначили тип переменной WorkDoc – Document и прописалипуть документа для открытия:
'Открытие документа поимени файла
Dim WorkDoc As Document
Set WorkDoc =Documents.Open(FileName:=«A:\Моякурсовая работа\Землетрясения.doc»).
Для Кнопки2 описалипроцедуру для выделения первого абзаца после заголовка:
ActiveDocument.Paragraphs(2).Range.Select
WithSelection.Font
.Name =«Times New Roman»
.Size = 14
End With
Для Кнопки3 описалипроцедуру для вырезания первого абзаца документа:
ActiveDocument.Paragraphs(2).Range.Cut
Для Кнопки4 описали процедурудля вставки из Буфера обмена вырезанного фрагмента:
ActiveDocument.Paragraphs(4).Range.Paste
Кнопка5 содержит в себепроцедуру форматирования вставленного в конец документа абзаца:
ActiveDocument.Paragraphs(4).Range.Select
WithSelection.Font
.Name = «CourierNew»
.Italic =wdBold ‘полужирный’
.Size = 16
.Color =wdColorLightBlue ‘голубой’
End With
Для Кнопки6 описалипроцедуру для добавления границы к вставленному абзацу:
ActiveDocument.Paragraphs(4).Range.Select
With ActiveDocument.Paragraphs(4).Borders(wdBorderBottom) ‘нижняя’ .LineStyle = wdLineStyleDouble ‘двойная линия’ .LineWidth = wdLineWidth025pt ‘толщина линии’ End With
WithActiveDocument.Paragraphs(4).Borders(wdBorderLeft) ‘левая’ .LineStyle = wdLineStyleDouble .LineWidth= wdLineWidth025pt
End With
WithActiveDocument.Paragraphs(4).Borders(wdBorderRight) ‘правая’ .LineStyle = wdLineStyleDouble .LineWidth= wdLineWidth025pt
End With
WithActiveDocument.Paragraphs(4).Borders(wdBorderTop) ‘верхняя’ .LineStyle = wdLineStyleDouble .LineWidth= wdLineWidth025pt
End With
Кнопка 7 – это кнопкавызова формы «Задание»:
Деление_амёбы.Show.
Кнопка8 – это кнопкавывода формы «Справка о разработчике»
UserForm1.Show.

Пользовательскаяформа Деление_амёбы ( Листинг программы см.Приложение С, Листинг 3):
Задача проекта решается заданиемцикла с параметром (цикл со счётчиком), который служит для организации циклов сзаранее известным числом повторений.
С помощью оператораописания Dim объявляем тип переменной Х –Integer, result – Double,str и str1 – String.
В поле ввода TextBox1.Text вводится первоначальное количество амёб.
При нажатии кнопки «Результат»появляются надписи Label2 «Время вчасах» и Label3 «Количество амёб», в поле ввода TextBox2 выводится заданная строка созначениями времени, в поле ввода TextBox3выводятся результаты вычислений.
Если в текстовое поле TextBox1 не введено значение количестваамёб, то в поле TextBox1ставится нулевое значение, а в поле TextBox2 выводится сообщение «амебы невведены», а в поле TextBox3 выводится «введите начальное кол-во амеб» (см.Приложение B, Рисунок6).

4. Тестирование иотладка программы
 
При запуске программы«Деление_амёбы» в активном документе отображается созданная для выполнениязадачи форма (см.Приложение B, Рисунок 4).
В первое поле ввода вводитсязначение первоначального количества амёб и при нажатии кнопки «Результат» вовтором поле ввода отображается заданная строка со значениями времени, а втретьем поле отображаются результаты вычисления деления введённого количестваамёб по прошествии этих значений времени (см. Приложение B, Рисунок 5).
При нажатии кнопки«Задача» открывается форма UserForm2 с текстом задания (см. Приложение B, Рисунок 3).
При нажатии кнопки«Справка о разработчике» выводится форма со сведениями о разработчике проекта (см. Приложение B, Рисунок 2).

Заключение
 
В результате работы надкурсовым проектом были разработаны:
— новая панель управленияс именем «Работа с текстом»;
— модуль программы;
— пользовательская формадля решения задачи;
— пользовательская форма«Задача»;
— пользовательская форма«Справка о разработчике».
Была автоматизированаработа с текстом:
— открытие документа стекстом;
— перемещение первогоабзаца в конец документа;
— форматированиеперемещённого абзаца;
— добавление границы кабзацу.
Составили алгоритм решениязадачи: одноклеточная амёба каждые 3 часа делится на 2 клетки. Определить,сколько амёб будет через 3, 6, 9, 12, … 24 часа.
Вывели справку оразработчике проекта.

Список литературы
 
1. Горных Е. Н. –Учебное пособие «Программирование на VBA» 2003.
2. Кузьменко В.Г. –«Программирование на VBA»2003.
3. Лабораторныеработы по дисциплине «ВТ и программирование» (методические указания клабораторным работам).


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :