Смекни!
smekni.com

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

Федеральное агентство по образованию и науки

Кузнецкий институт информационных и управленческих технологий

(филиал ПГУ)

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

По дисциплине: Вычислительная техника и программирование

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

Кузнецк 2008 г.


Содержание

Введение

1. Анализ задания

2. Разработка интерфейса программы

3. Разработка процедур

3.1 Функциональное назначение процедур

3.2 Описание процедур

4. Тестирование и отладка программы

Заключение

Список литературы

Введение

VisualBasicforApplication (VBA) - объектно-ориентированный язык программирования (ООП), который позволяет создавать приложения (проекты) с развитым визуальным интерфейсом. ООП можно описать как методику анализа, проектирования и написания приложений, манипулируя объектами.

Язык был разработан в середине 1960-х годов профессорами Дартмутского колледжа Джоном Кемени и Томасом Курцом. Бейсик сравнительно несложен для изучения и подходит для разработки коротких и простых программ. В 1970-х годах он завоевал всеобщее признание вследствие своей компактности и пригодности для первых персональных компьютеров с их ограниченным объемом памяти.

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

Каждый документ Word (или шаблон документа) может содержать один или несколько модулей, одну или несколько пользовательских форм, а может и не содержать никаких модулей и форм.

В VBA создание, редактирование, отладка и запуск на выполнение программ и макросов осуществляется средствами интегрированной среды разработки (средствами редактора VB). Чтобы перейти в интегрированную среду разработки из любого приложения MSOffice, достаточно нажать комбинацию клавиш 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) – на CourierNew, размер – на 12 или 15 и тип шрифта – полужирный.

Для выполнения второго задания работы добавляем в проект третью пользовательскую форму. Поместили на форму:

o надпись, у которой изменили свойства: Caption – Label1 на «Введите начальное количество амёб», BackColor, Font – на Courier 12пт.;

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").