РефератыИнформатикаПрПроектирование в среде VBA

Проектирование в среде VBA

Министерство науки и образования Украины


Харьковский национальный экономический университет


Кафедра информатики и компьютерных технологий


Индивидуальное научно-исследовательское задание

По курсу: «Экономическая информатика»


На тему: «Проектирование в среде VBA»


Руководитель: Выполнила:


Давыдов Д.Д. студентка 1 курса 8 группы


факультета ФЭФ


Бондаренко В.К.


Харьков, 2007


Тема: Проектирование приложения в интегрированной среде редактора VBA для решения задачи - определение суммы возврата кредита с уплатой процентов банку по истечении определенного срока.

Цель:
выработать умения и навыки работы с компонентами интегрированной среды VBA при разработке приложений для решения задач по банковскому делу.


Постановка задачи


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


Математическая модель


Ежемесячная процентная ставка, исходя из общей суммы процентов, которую рассчитывает получить банк по данному кредиту, рассчитывается по формуле:


P
% =
P
/ 100 / 12


где P% – месячная процентная ставка


Р – годовая процентная ставка


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


S
1% =
K
1 *
P
% –
за первый месяц


За последующие месяцы сумма начисленных процентов рассчитывается с помощью цикла по формуле


S
%2= Σ (
S
%2 + (
K
1 –
K
1/
N
* (
i
- 1)) * Р%)


Общая сумма начисленных процентов:


S% = S%1 + S%2


где S%1 - сумма начисленных процентов за пользование кредитом за первый месяц;


S%2 – сумма начисленных процентов за пользование кредитом за последующие месяцы


K1 – сумма кредита


N – срок кредита


P% – месячная процентная ставка


i – целое число меняется от 2 до N


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


K
2 =
K
1 +
S
%
,


где К
2 - сумма средств, подлежащая возврату банку по истечении срока.


Используя математическую модель, требуется разработать алгоритм решения задачи, в котором необходимо предусмотреть четыре этапа обработки данных:


1. Ввод исходных данных для решения задачи - сумма полученного кредита и годовая процентная ставка за пользование кредитом;


2. Вычисление суммы начисленных процентов за пользование кредитом;


3. Расчет суммы средств, которая возвращается клиентом банку;


4. Вывод результатов вычислений.


Алгоритм решения задачи


В соответствии с приведенной выше математической моделью необходимо разработать алгоритм решения задачи. Пример разработанного алгоритма представлен на рис. 1.



Структура данных


В разрабатываемом приложении используются различные элементы управления, состав которых и их основные свойства представлены в таблице 1.


Таблица. Основные свойства элементов управления






































































































































Имя элемента управления


Name


Caption


Text


Назначение


Label


lblКредитор


Кредитор: (введите наименование банка)


Отсутствует


Текст свойства Caption выводится на форме


Label


lblЗаемщик


Заемщик (введите Ф. И. О.)


Отсутствует


Текст свойства Caption выводится на форме


Label


lblКредит


Сумма кредита


Отсутствует


Текст свойства Caption выводится на форме


Label


lblСрокКредита


Срок кредита


Отсутствует


Текст свойства Caption выводится на форме


Label


lblСтавка


Процентная ставка


Отсутствует


Текст свойства Caption выводится на форме


Label


lblСуммаПлатежей


Сумма платежей


по процентам


Отсутствует


Текст свойства Caption выводится на форме


Label


lblВозврат


Сумма возврата кредита с уплатой процентов


Отсутствует


Текст свойства Caption выводится на форме


Label


lblДата1


Дата выдачи кредита


Отсутствует


Текст свойства Caption выводится на форме


Label


lblДата2


Дата возврата кредита


Отсутствует


Текст свойства Caption выводится на форме


TextBox


txtКредитор


Отсутствует


Пусто


Используется для ввода наименования банка


TextBox


txtЗаемщик


Отсутствует


Пусто


Используется для ввода Ф. И. О. клиента


TextBox


txtКредит


Отсутствует


Пусто


Используется для ввода исходных данных (сумма кредита)


TextBox


txtСрокКредита


Отсутствует


Пусто


Используется для ввода исходных данных (срок кредита)


TextBox


txtСтавка


Отсутствует


Пусто


Используется для ввода исходных данных (процентная ставка)


TextBox


txtСуммаПлатежей


Отсутствует


Пусто


Используется для вывода суммы платежей по процентам


TextBox


txtВозврат


Отсутствует


Пусто


Используется для вывода суммы возврата кредита с уплатой процентов


TextBox


txtДата1


Отсутствует


Пусто


Используется для вывода даты выдачи кредита (вычисляется на момент выполнения программы)


TextBox


txtДата2


Отсутствует


Пусто


Используется для вывода даты возврата кредита


CommandButton


cmdПечать


Печать формы


Отсутствует


Печать формы с результатами вычислений


CommandButton


cmdВычислить


Вычислить


Отсутствует


Вычисляется результат


CommandButton


cmdВыход


Выход


Отсутствует


Завершается работа приложения



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


Данные Сумма кредита, Срок кредита, Процентная ставка
являются исходными и вводятся с клавиатуры в текстовые поля txtКредит, txtСрокКердита
и txtСтавка
. Поэтому для соответствующих элементов управления TextBox
в свойстве Name
указаны префиксы txt
. Результаты вычислений Сумма возврата кредита с уплатой процентов, Сумма платежей по процентам
выводятся в форме также в текстовое поле – txtВозврат
, txtСуммаПлатежей.


В коде программы при выполнении вычислений используются 10 переменных:


curSumKredit


intSrok


sngProcent


curSumPlat


curSumPlatVsego


curSumVozvrat


curPlatZa
1
mes


dtmData
1


dtmData2


i


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


Таблица 2


Структура данных

























































Реквизит


Имя


Тип переменной


Назначение


Платежи за месяц


curSumKredit


Currency


Сумма предоставляемого банком кредита


Процентная ставка


sngProcent


Single


Месячная процентная ставка


Платеж по процентам


curSumPlatVsego


Currency


Общая сумма начисленных процентов


Платеж по процентам


curSumPlat


Currency


Сумма платежей по процентам за последующие месяцы


Платежи по процентам


curPlatZa1mes


Currency


Платежи по процентам за первый месяц


Сумма возврата кредита


curSumVozvrat


Currency


Сумма средств, возвращаемая клиентом


Срок кредита


intSrok


Integer


Количество месяцев , на которые выдан кредит


Дата выдачи кредита


dtmData1


Date


Дата выдачи кредита


Дата возврата кредита


dtmData2


Date


Дата возврата кредита


Счетчик


i


integer


Переменная цикла



Интерфейс с пользователем


Задача решается с помощью формы, структура которой представлена на рис. 2. Проект формы и внешний ее вид после выполнения программы представлены на рис. 3.









Сумма возврата кредита с уплатой процентов, гр

н.








Сумма платежей по процентам, грн.








Дата возврата кредита








Дата выдачи кредита





6






Рис. 2. Расположение объектов на форме


Объекты - Кредитор, Заёмщик, Сумма кредита, Срок кредита, Процентная ставка, Сумма возврата кредита с уплатой процентов, Сумма платежей по процентам, Дата выдачи кредита,
Дата возврата кредита
размещаются на форме с помощью элемента управления Label

и имеют префикс lbl

.




в эти два поля (txt Кредитор
и txt Заемщик
соответственно) вводится текстовая информация с клавиатуры


— txtКредит


—txtСрокКредита


—txtСтавка


— txtДата1


— txtДата2


— txtСуммаПлатежей


— txtВозврат


—cmdПечать


—cmdВычислить


—cmdВыход



Проект формы




Графический образ формы после выполнения приложения



Рис.3. Проект формы и внешний ее вид после выполнения программы


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


Код программы, который обеспечивает выполнение указанного выше проекта, представлен на рис. 4.



Рис.4. Окно кода с процедурами обработки событий


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


В текстовые поля txtДата1
(Дата выдачи кредита) и txtДата2
(Дата возврата кредита) информация вводится с помощью функции дат: Now
и Date
add
соответственно.


Дата выдачи кредита - это текущая дата и время, полученная с помощью функции Now.
Допускается, что оформление кредитного договора и выдача клиенту кредита осуществляется в тот день, когда данная программа запускается на выполнение.


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


Результаты работы программы выдаются на печать с помощью команды PrintForm,
которая выводит на принтер графический образ окна формы.


Завершение работы программы осуществляется с помощью командной кнопки Выход
.


На рис. 4 представлены процедуры, которые выполняют указанные выше действия.


Проектирование приложения


1. Если не открыто приложение Microsoft
Excel
, то откройте его командой Пуск — Программы — Microsoft Office — Microsoft
Word
или другим способом.


2. Выполните команду Сервис — Макрос — Безопасность
и установите следующие параметры безопасности:


2.1. Во вкладке Безопасность
выберите переключатель Средняя
.


2.2. Во вкладке Надежные изделия
установите флажок Доверять доступ к Visual Basic Project (
для версии 2003 и выше).


3. Закройте окно приложения Microsoft
Word
, повторите п. 1 и проверьте, сохранились ли параметры безопасности, которые были установлены в п. 2.


4. Находясь в среде Word
или другого приложения из Microsoft
Office
(Excel
или др.) откройте окно интегрированной среды разработки приложений редактора Visual
Basic
командой Сервис — Макрос —
Редактор Visual Basic
или нажатием комбинации клавиш <Alt>+<F11>.


5. На панели инструментов щелкните кнопку Insert UserForm
- . Появляется окно с формой UserForm1
.


6. Задайте имя и заголовок формы. Для этого перейдите в окно свойств Properties
и введите значения следующих свойств:


Name:

F
rmКредит


Caption: Кредитование


Примечание. В свойстве Caption
студент указывает название работы.


7. Поместите на форму надписи Кредитор: (введите наименование банка), Заёмщик (введите Ф. И. О.), Сумма кредита, Срок кредита, Процентная ставка, Сумма платежей по процентам, Сумма возврата кредита с уплатой процентов, Дата выдачи кредита,
Дата возврата кредита
в соответствующие поля (см. рис. 3).


· Выберите на панели элементов управления элемент Label
, а затем щелкните на форме в том месте, где будет начинаться надпись, и выделите область для надписи.


· Выделите на форме элемент Label1
щелчком левой кнопкой мыши, а затем в свойстве Name
окна Properties
введите текст lblКредитор,

а в свойстве Caption
, укажите «Кредитор: (введите наименование банка)»
.


· Справа от созданной надписи (см. рис. 2 и 3), поместите текстовое поле (TextBox
). Выберите на панели элементов управления элемент TextBox
, а затем щелкните на форме и выделите область для нового объекта. Выделите на форме элемент TextBox1
, а затем в окне Properties
введите значение свойства: Name
- txtКредит
.


8. Аналогично создайте поля для размещения на форме надписей Заемщик (введите Ф. И. О.)
, Сумма кредита, Срок кредита, Процентная ставка, Сумма платежей по процентам, Сумма возврата кредита с уплатой процентов, Дата выдачи кредита,
Дата возврата кредита
и соответствующие им текстовые поля (имена полей см. в табл. 1).


9. Создайте командную кнопку Печать формы
.


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


· Перейдите в окно Properties
и введите значения следующих свойств:


Caption
: Печать формы


Name
: cmdПечать


10.Аналогично создайте командную кнопки Выход и Вычислить
Caption
укажите Выход
, а в Name
cmdВыход
), (в Caption
укажите Вычислить
, а в Name
cmdВычислить
). Размещение кнопки на форме см. на рис. 2 и 3.


11.Вызовите окно Code
(кода) командой View

Code
. Указанное окно может быть вызвано и другими способами, например с помощью контекстного меню.


12.Создайте код процедуры, которая обрабатывает событие щелчок на кнопке
«cmd
Вычислить»

.


· Дважды щелкните на кнопке «cmd
Вычислить»

. В результате открывается окно кода с заголовком и концом процедуры. В тело процедуры введите оператор Dim
для явного объявления семи переменных (См. табл. 2 и рис. 4).


Переменным curSumKredit
и intSrok
необходимо присвоить значения текстовых полей, которые были введены в форме. Для этих целей введите в тело процедуры два оператора


curSumKredit
=
CCur
(
Txt
Кредит)


intSrok
=
CInt
(
Txt
СрокКредита)


Для выполнения вычислений в тело процедуры введите следующие операторы


sngProcent = CSng(Txt
Ставка
) / intSrok / 100


curPlatZa1mes = curSumKredit * sngProcent


В первом операторе определяется процентная ставка за один месяц, во втором вычисляется сумма, начисленная банком по процентам за первый месяц


curSumPlat
= 0


Далее в переменную для подсчета начислений по процентам за последующие месяцы засылается 0 для начала выполнения цикла.


For i = 2 To intSrok


curSumPlat = curSumPlat + (curSumKredit - curSumKredit / intSrok * (i - 1)) * sngProcent


Next
i


Далее происходит выполнение цикла.


curSumPlatVsego = curSumPlat + curPlatZa1mes


curSumVozvrat = curSumPlat + curSumKredit


Следующие два оператора вычисляют сумму выплат по процентам и общие выплаты клиента по кредиту.


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


TxtСуммаПлатежей = Format(curSumPlatVsego, "0.00")


TxtВозврат = Format(curSumVozvrat, "0.00")


Для вычисления даты возврата кредита также в тело процедуры введите оператор:


dtmData2 = DateAdd("m", intSrok, dtmData1)


Примечание. Возврат кредита осуществляется через год после заключения кредитного договора.


13.Создайте код процедуры, которая обрабатывает засылание в поле TxtДата1
текущую дату при активации формы. Дважды щелкните на форме TxtДата1
. поменяйте название процедуры в верхнем правом окне на Activate
. В тело процедуры введите оператор


TxtДата1 = Now


Примечание. Дата выдачи кредита вычисляется на момент выполнения программы.


14.Создайте код процедуры, которая обрабатывает событие «Щелчок на командной кнопке Печать формы»


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


Me.PrintForm


15.Создайте код процедуры, которая обрабатывает событие «Щелчок на командной кнопке Выход»

.


Дважды щелкните на кнопке Выход
. В тело процедуры введите операторы, которые закроют форму.


Unload Me


Set Frm
Кредит
= Nothing


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


17.Запустите программу на выполнение и проверьте ее работу с несколькими комплектами исходных данных.


18.Завершите работу в приложении Microsoft Excel
. Закройте окно Excel
.


19.Двойным щелчком на имени только что созданного файла откройте его. При открытии ответьте на запрос - отключать ли макросы, нажав кнопку Не отключать макросы,
а затем перейдите в окно интегрированной среды разработки приложений редактора Visual
Basic
и убедитесь, что в нем имеется форма UserForm
и у вас имеется возможность снова запустить созданную вами программу Visual
Basic
.


Литература


1. С Браун Visual Basic 6.0. Учебный курс. - СПб: Питер, 2005.


2. Верб Дж. Программирование в Excel 2003:тетрадь разработчика. Пер. с англ. – М.: КУДИЦ-ОБРАЗ, 2006 – 304 с.


3. Гарнаев А.Ю. Excel, VBA, Internet в экономике и финансах. – СПб. БХВ-Петербург, 2001. – 816 с.


4. Джексон, Мзри, Стонтон, Майк. Финансовое моделирование в ЕхсеІ и VBA: углубленный курс.: Пер. с англ. – М.: Издательский дом "Вильямс", 2006. – 352 с.


5. Додж М., Стинсон К. Ефективна робота з Microsoft Excel 2003. – Спб: Питер, 2005. – 1056 с.


6. Долженков В. А., Колесников Ю. В.Самоучитель Microsoft Excel 2003. – СПб.: БХВ-Петербург, 2005. – 432 с.


7. Лабораторний практикум по информатике и компьютерным технологиям. /Под ред. проф. А.И. Пушкаря. - X.: Издат. Дом "ИНЖЗК", 2004. - 468 с.


8. Олійник А.В., Шацька В.М. Інформаційні системи і технології у фінансових установах: Навчальний посібник. – Львів: "Новий Світ-2000", 2006. – 436 с.


9. Современные компьютерные технологии. /Под ред. проф. А.И. Пушкаря. - X.: Издат. дом "ИНЖЗК", 2004. – 464 с.


10. Райтингер М., Муч Г. Visual Basic 6.0: Пер. с нем. – К.: Издательская группа BHV, 1999, - 720 с.


11. Основи алгоритмізації та програмування/ Федько В. В., Плоткін В. І. – Харків: Веста: Видавництво «Ранок», 2003. – 192 с.


12. Федько В.В. Лабораторный практикум по VBA. Электронный учебник. Фонды ХНЭУ, 2006 – 568 кб.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Проектирование в среде VBA

Слов:3040
Символов:28845
Размер:56.34 Кб.