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

2016-07-30СтудИзба

Описание файла

Документ из архива "Разработка приложения средствами VBA", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49807"

Текст из документа "49807"

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

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

(филиал ПГУ)

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

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

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

Кузнецк 2008 г.

Содержание

Введение

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

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

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

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

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

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

Заключение

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




Введение


Visual Basic for Application (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 и тип шрифта – полужирный.

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

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

  • три текстовых поля TextBox; у них изменили свойство BackColor на оранжевый, Font на Tahoma;

  • кнопку CommandButton, при этом в окне свойств изменили: свойство Caption: CommandButton1 на «Результат», цвет (BackColor) на тёмно-оранжевый, свойство Font на Courier, полужирный, размер - 10пт.).

  • кнопку CommandButton, при этом в окне свойств изменили: свойство Caption: CommandButton2 на «Справка о разработчике», цвет (BackColor) на тёмно-оранжевый, свойство Font на Courier, полужирный, размер - 10пт.).

  • кнопку 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

With Selection.Font

.Name = "Times New Roman"

.Size = 14

End With

Для Кнопки3 описали процедуру для вырезания первого абзаца документа:

ActiveDocument.Paragraphs(2).Range.Cut

Для Кнопки4 описали процедуру для вставки из Буфера обмена вырезанного фрагмента:

ActiveDocument.Paragraphs(4).Range.Paste

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5076
Авторов
на СтудИзбе
455
Средний доход
с одного платного файла
Обучение Подробнее