Объекты - Кредитор, Заёмщик, Сумма кредита, Срок кредита, Процентная ставка, Сумма возврата кредита с уплатой процентов, Сумма платежей по процентам, Дата выдачи кредита, Дата возврата кредита размещаются на форме с помощью элемента управления Label и имеют префикс lbl.
в эти два поля (txt Кредитор и txt Заемщик соответственно) вводится текстовая информация с клавиатуры
— txtКредит
—txtСрокКредита
—txtСтавка
— txtДата1
— txtДата2
— txtСуммаПлатежей
— txtВозврат
—cmdПечать
—cmdВычислить
—cmdВыход
Проект формы
Графический образ формы после выполнения приложения
Рис.3. Проект формы и внешний ее вид после выполнения программы
Код программы
Код программы, который обеспечивает выполнение указанного выше проекта, представлен на рис. 4.
Рис.4. Окно кода с процедурами обработки событий
Расчет суммы средств, подлежащей возврату банку, выполняется по щелчку на кнопке Вычислить определяется начисляемая за пользование кредитом сумма по процентам, которая суммируется с величиной кредита, полученной клиентом банка по кредитному договору.
В текстовые поля txtДата1 (Дата выдачи кредита) и txtДата2 (Дата возврата кредита) информация вводится с помощью функции дат: Now и Dateadd соответственно.
Дата выдачи кредита - это текущая дата и время, полученная с помощью функции 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: FrmКредит
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.Создайте код процедуры, которая обрабатывает событие «Щелчок на командной кнопке Печать формы»
Дважды щелкните на кнопке Печать формы. В тело процедуры введите оператор, который выведет на печать графический образ окна формы с полученными результатами: