Смекни!
smekni.com

Проектирование в среде VBA (стр. 2 из 3)

Объекты - Кредитор, Заёмщик, Сумма кредита, Срок кредита, Процентная ставка, Сумма возврата кредита с уплатой процентов, Сумма платежей по процентам, Дата выдачи кредита, Дата возврата кредита размещаются на форме с помощью элемента управления 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 укажите Выход, а в NamecmdВыход), (в Caption укажите Вычислить, а в NamecmdВычислить). Размещение кнопки на форме см. на рис. 2 и 3.

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

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.Создайте код процедуры, которая обрабатывает событие «Щелчок на командной кнопке Печать формы»

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