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

48379
знаков
6
таблиц
13
изображений

3.4 Разработка и тестирование программного модуля.

 Возмём в качестве тестового примера несколько получателей платежей . Заполним некоторое кол-во плю поручений. На пример:

Наименование Получателя Дата Кол-во платежа
Иванов 01/02/00 500
Иванов 02/02/00 600
Иванов 03/03/00 700
Иванов 04/04/00 800
Иванов 05/05/00 900
Иванов 06/06/00 1000
Иванов 07/07/00 1100
Иванов 08/08/00 1200
Сидоров 01/02/00 100
Сидоров 02/02/00 10
Сидоров 03/03/00 15
Сидоров 04/04/00 16
Сидоров 05/05/00 17
Сидоров 08/08/00 18
Сидоров 08/09/00 19
Иванов 01/02/00 1000
Итого 7995

Результаты полученные ьвне программы совершенно идентичны результатам полученным программым путём.

Так же программый продукт подвергся тестированию на собственном производстве. Ошибок выявлено не было.

Из этого можно сделать вывод что созданное программное обеспечение работает правильно и вполне готово к эксплуатации.

Заключение.

Представленный программный продукт создан в среде Excel -97 .

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

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

 Литература

1.   “Microsoft OFFICE97 разработка приложений” К.Соломон издательство “БХВ “ г.Санкт-Петербург 1998 год.

2. Кен Гетц. Майк Джилберт ” Программирование в Microsoft Office “ - издательство “ Печатный двор“ Государственного комитета РФ по печати г.Санкт-Петербург 1999 год.

3. М.МакКелви и др. “ Visual Basic 5 “ издательство “ BHV-Санкт-Петербург“ 1998 год.

4. Р.Персон. “Excel для Windows 95 “ издательство “ BHV-Санкт-Петербург“ 1998 год.

5. Р.Винтер. “Microsoft Office для Windows 95 “ издательство “ BHV-Санкт-Петербург“ 1998 год.

6. Фигурнов В.Э.” IBM PC для пользователя.” - М: Финансы и статистика, 1991.

7.Ч.Петзолд “Программирование для Windows 95 ” издательство “ BHV-Санкт-Петербург“ 1998 год.

8 . Ф. Новиков,А.Яценко. “Microsoft Office в целом” издательство “ BHV-Санкт-Петербург“ 1998 год.

Исходный текст основного программного модуля.

Dim №ПЛ As String

Dim Платящий As String

Dim BOX

Dim БОКС

Dim МП1 As String

Dim Год

Private Sub ComboBox1_Change()

Windows("Клиенты" & Year(Date)).Activate

If ComboBox1.ListIndex = -1 Then

Exit Sub

End If

a = ComboBox1.ListIndex

Счётчик2.Visible = False

Создать.Visible = False

Предосмотр.Visible = False

СохранитьНов.Visible = True

 If Len(Worksheets(№ПЛ).Range("A1")) = 0 Then

ComboBox1.Visible = False

Windows("Клиенты" & Year(Date)).Activate

Счёт = Worksheets(№ПЛ).Range("C1")

Банк = Worksheets(№ПЛ).Range("B1")

Клиент = Worksheets(№ПЛ).Range("A1")

КодБанка = Worksheets(№ПЛ).Range("D1")

УНН = Worksheets(№ПЛ).Range("E1")

ВидОперации = Worksheets(№ПЛ).Range("f1")

НазначПлатежа1 = Worksheets(№ПЛ).Range("g1")

НомНазПл = Worksheets(№ПЛ).Range("H1")

 ElseIf a < 0 Then

ComboBox1.ListIndex = a + 1

Windows("Клиенты" & Year(Date)).Activate

Счёт = (Worksheets(№ПЛ).Range("C" & (ComboBox1.ListIndex + 1)))

Банк = (Worksheets(№ПЛ).Range("B" & (ComboBox1.ListIndex + 1)))

Клиент = (Worksheets(№ПЛ).Range("A" & (ComboBox1.ListIndex + 1)))

КодБанка = (Worksheets(№ПЛ).Range("D" & (ComboBox1.ListIndex + 1)))

УНН = (Worksheets(№ПЛ).Range("E" & (ComboBox1.ListIndex + 1)))

ВидОперации = Worksheets(№ПЛ).Range("f" & (ComboBox1.ListIndex + 1))

НазначПлатежа1 = Worksheets(№ПЛ).Range("g" & (ComboBox1.ListIndex + 1))

НомНазПл = Worksheets(№ПЛ).Range("H" & (ComboBox1.ListIndex + 1))

 Else

Windows("Клиенты" & Year(Date)).Activate

Счёт = (Worksheets(№ПЛ).Range("C" & (ComboBox1.ListIndex + 1)))

Банк = (Worksheets(№ПЛ).Range("B" & (ComboBox1.ListIndex + 1)))

Клиент = (Worksheets(№ПЛ).Range("A" & (ComboBox1.ListIndex + 1)))

КодБанка = (Worksheets(№ПЛ).Range("D" & (ComboBox1.ListIndex + 1)))

УНН = (Worksheets(№ПЛ).Range("E" & (ComboBox1.ListIndex + 1)))

ВидОперации = Worksheets(№ПЛ).Range("f" & (ComboBox1.ListIndex + 1))

НазначПлатежа1 = Worksheets(№ПЛ).Range("g" & (ComboBox1.ListIndex + 1))

НомНазПл = Worksheets(№ПЛ).Range("H" & (ComboBox1.ListIndex + 1))

 End If

End Sub

Private Sub Выход_Click()

 Windows("Платёжки" & Year(Date)).Activate

 ActiveWorkbook.Save

 ActiveWindow.Close

 Windows("Клиенты" & Year(Date)).Activate

 ActiveWorkbook.Save

 ActiveWindow.Close

 Windows("Платёжка.xls").Activate

 ActiveWorkbook.Save

 ActiveWindow.Close

 Application.Quit

'ActiveWorkbook.RunAutoMacros Which:=xlAutoClose

End Sub

Private Sub UserForm_Activate()

 Windows("Платёжка.xls").Activate

Платящий = "Текущий Плательщик : " & Worksheets("Лист1").Range("E7") & _

" УНН : " & Worksheets("Лист1").Range("C7") & _

" P/c : " & Worksheets("Лист1").Range("Q8") & _

" Банк : " & Worksheets("Лист1").Range("D8") & _

" Код Банка : " & Worksheets("Лист1").Range("P9")

№ПЛ = Worksheets("Лист1").Range("A1")

 Windows("Клиенты" & Year(Date)).Activate

 ComboBox1.Clear

 МП = True

 X = 1

 Год = Year(Date)

 While Len(Worksheets(№ПЛ).Range("A" & X)) <> 0

ComboBox1.AddItem (Worksheets(№ПЛ).Range("A" & X))

X = X + 1

 Wend

End Sub

Private Sub ЗаПрошлыйГод_Click()

If Dir("C:\Program Files\Платёжка\Платёжки" & (Year(Date) - 1) & ".xls") = _

 "Платёжки" & (Year(Date) - 1) & ".xls" Then

 Workbooks.Open FileName:="C:\Program Files\Платёжка\Платёжки" & (Year(Date) - 1)

 Windows("Платёжки" & (Year(Date) - 1)).Activate

 Worksheets(№ПЛ).Select

 Год = Year(Date) - 1

 Else

БОКС = MsgBox("За прошлый год файл отчёта не найден", , BOX)

Exit Sub

End If

Вконец = True

End Sub

Private Sub Плательщики_Click()

UserForm1.Hide

UserForm3.Show

End Sub

Private Sub Отчёты_Click()

UserForm1.Hide

UserForm2.Show

End Sub

Private Sub Минус_Click() ' отнимает 1 день от даты

 If IsDate(Дата) = True Then

Дата = CDate(Дата) - 1

Else

 End If

End Sub

Private Sub Плюс_Click() ' прибавляет один день к дате

 If IsDate(Дата) = True Then

Дата = CDate(Дата) + 1

Else

 End If

End Sub

Private Sub Предосмотр_Click() ' активизирует окно просмотра Excel

 Windows("Платёжка.xls").Activate

 Application.Visible = True

 UserForm1.Hide

 ActiveWindow.SelectedSheets.PrintPreview

 Application.Visible = False

 UserForm1.Show

End Sub

Private Sub UserForm_Initialize()

 If Dir("C:\Program Files\Платёжка\Клиенты" & Year(Date) & ".xls") <> _

 "Клиенты" & Year(Date) & ".xls" Then

 Workbooks.Open FileName:="C:\Program Files\Платёжка\Клиенты" & (Year(Date) - 1)

 Windows("Клиенты" & (Year(Date) - 1)).Activate

 ActiveWorkbook.SaveAs FileName:="C:\Program Files\Платёжка\Клиенты" & Year(Date)

 Workbooks.Open FileName:="C:\Program Files\Платёжка\Платёжки" & (Year(Date) - 1)

 Windows("Платёжки" & (Year(Date) - 1)).Activate

 ActiveWorkbook.SaveAs FileName:="C:\Program Files\Платёжка\Платёжки" & Year(Date)

 

 Workbooks.Open FileName:="C:\Program Files\Платёжка\Плательщики.xls"

 Windows("Плательщики.xls").Activate

 X = 1

 Do While Len(Worksheets("Лист1").Range("A" & X)) <> 0

 X = X + 1

 Loop

 X = X - 1

 

 Do While X <> 0

 Windows("Клиенты" & Year(Date)).Activate

 Worksheets(CStr(X)).Select

 Worksheets(CStr(X)).Range("L1:L65535").Select

 Selection.ClearContents

 

 Windows("Платёжки" & Year(Date)).Activate

 Worksheets(CStr(X)).Select

 Worksheets(CStr(X)).Columns("A:AG").Select

 Selection.ClearContents

 X = X - 1

 Loop

 Windows("Клиенты" & Year(Date)).Activate

 ActiveWorkbook.Save

 Windows("Платёжки" & Year(Date)).Activate

 ActiveWorkbook.Save

 Workbooks.Open FileName:="C:\Program Files\Платёжка\Платёжка.xls"

 Windows("Плательщики.xls").Activate

 Worksheets("Года").Select

 X = 1

 While Len(Worksheets("Года").Range("A" & X)) <> 0

 X = X + 1

 Wend

 'Worksheets("Года").Range("A" & X) = CStr((Year(Date) - 1))

 Worksheets("Года").Range("A" & X) = CStr(Year(Date))

 ActiveWorkbook.Save

 Else

 Workbooks.Open FileName:="C:\Program Files\Платёжка\Клиенты" & Year(Date)

 Workbooks.Open FileName:="C:\Program Files\Платёжка\Платёжки" & Year(Date)

 Workbooks.Open FileName:="C:\Program Files\Платёжка\Платёжка.xls"

 Workbooks.Open FileName:="C:\Program Files\Платёжка\Плательщики.xls"

 End If

 

 

 Год = Year(Date)

 Счётчик2.List = Array(1, 2, 3)

 Счётчик2 = 1

 Дата = Date

 МП = True

 ComboBox1.Visible = True

 НомерПл.Visible = False

 Label1.Visible = True

 Создать.Visible = False

 Label14.Visible = False

 Счётчик.Visible = False

 КСтарПл.Visible = False

 Предосмотр.Visible = False

 Счётчик2.Visible = False

 ИзмененияСТ.Visible = False

 Вконец.Visible = False

 номерСТПЛ.Visible = False

 ПоНомеру.Visible = False

 ЗаПрошлыйГод.Visible = False

 Сегодня.Caption = "Сегодня : " & Date

 BOX = "Платёжка"

 Windows("Платёжка.xls").Activate

 №ПЛ = Worksheets("Лист1").Range("a1")

 Windows("Клиенты" & Year(Date)).Activate

 X = 1

 While Len(Worksheets(№ПЛ).Range("A" & X)) <> 0

ComboBox1.AddItem (Worksheets(№ПЛ).Range("A" & X))

X = X + 1

 Wend

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

Windows("Платёжки" & Year(Date)).Activate

ActiveWorkbook.Save

ActiveWindow.Close

Windows("Клиенты" & Year(Date)).Activate

ActiveWorkbook.Save

ActiveWindow.Close

Windows("Платёжка.xls").Activate

ActiveWorkbook.Save

ActiveWindow.Close

Application.Quit

'ActiveWorkbook.RunAutoMacros Which:=xlAutoClose

End Sub

Private Sub Измениния_Click()

Windows("Клиенты" & Year(Date)).Activate

 If Проверка = False Then ' Проверка на правильность ' функция находится в конце программы

Exit Sub ' введённой информац

Else  ' функция находится в конце программы

 End If

X = 1

Do While X < ComboBox1.ListCount + 1

If Клиент = Worksheets(№ПЛ).Range("A" & X) _

And Банк = Worksheets(№ПЛ).Range("b" & X) _

And Счёт = Worksheets(№ПЛ).Range("c" & X) _

And КодБанка = Worksheets(№ПЛ).Range("d" & X) _

And УНН = Worksheets(№ПЛ).Range("e" & X) _

And ВидОперации = Worksheets(№ПЛ).Range("f" & X) _

And НомНазПл = Worksheets(№ПЛ).Range("H" & X) _

And НазначПлатежа1 = Worksheets(№ПЛ).Range("g" & ComboBox1.ListIndex + 1) _

Then

БОКС = MsgBox("Извените но : " & Клиент & " уже есть в списке Получателей." _

& Chr(10) & "Попробуйте выбрать Получателя из списка.", , BOX)

Exit Sub

Else

X = X + 1

End If

Loop

Worksheets(№ПЛ).Range("A" & (ComboBox1.ListIndex + 1)) = Клиент

Worksheets(№ПЛ).Range("b" & (ComboBox1.ListIndex + 1)) = Банк

Worksheets(№ПЛ).Range("c" & (ComboBox1.ListIndex + 1)) = Счёт

Worksheets(№ПЛ).Range("d" & (ComboBox1.ListIndex + 1)) = КодБанка

Worksheets(№ПЛ).Range("e" & (ComboBox1.ListIndex + 1)) = УНН

Worksheets(№ПЛ).Range("f" & (ComboBox1.ListIndex + 1)) = ВидОперации

Worksheets(№ПЛ).Range("g" & (ComboBox1.ListIndex + 1)) = НазначПлатежа1

Worksheets(№ПЛ).Range("H" & (ComboBox1.ListIndex + 1)) = НомНазПл

ActiveWorkbook.Save

БОКС = MsgBox("Изменения в данные о Клиенте : " & Клиент & " успешно внесёны в список клиентов", , BOX)

Клиент.SetFocus

End Sub

Private Sub ДобавитьПол_Click()

Windows("Клиенты" & Year(Date)).Activate

If Проверка = False Then ' Проверка на правильность ' функция находится в конце программы

Exit Sub ' введённой информац

Else ' функция находится в конце программы

End If

X = 1

Do While X < ComboBox1.ListCount + 1

If Клиент = Worksheets(№ПЛ).Range("A" & X) _

And Банк = Worksheets(№ПЛ).Range("b" & X) _

And Счёт = Worksheets(№ПЛ).Range("c" & X) _

And КодБанка = Worksheets(№ПЛ).Range("d" & X) _

And УНН = Worksheets(№ПЛ).Range("e" & X) _

And ВидОперации = Worksheets(№ПЛ).Range("f" & X) _

And НомНазПл = Worksheets(№ПЛ).Range("H" & X) _

Then

БОКС = MsgBox("Извените но : " & Клиент & " уже есть в списке Получателей." _

& Chr(10) & "Попробуйте выбрать Получателя из списка.", , BOX)

Exit Sub

Else

X = X + 1

End If

Loop

X = 1

While Len(Worksheets(№ПЛ).Range("A" & X)) <> 0

X = X + 1

Wend

Worksheets(№ПЛ).Range("A" & X) = Клиент

Worksheets(№ПЛ).Range("b" & X) = Банк

Worksheets(№ПЛ).Range("c" & X) = Счёт

Worksheets(№ПЛ).Range("d" & X) = КодБанка

Worksheets(№ПЛ).Range("e" & X) = УНН

Worksheets(№ПЛ).Range("f" & X) = ВидОперации

Worksheets(№ПЛ).Range("g" & X) = НазначПлатежа1

Worksheets(№ПЛ).Range("H" & X) = НомНазПл

ComboBox1.Visible = True

ComboBox1.AddItem (Worksheets(№ПЛ).Range("A" & (ComboBox1.ListCount + 1)))

ComboBox1.ListIndex = X - 1

ActiveWorkbook.Save

БОКС = MsgBox("Новый Клиент : " & Клиент & " внесён в список клиентов", , BOX)

Клиент.SetFocus

End Sub

Private Sub КСтарПл_Click()

Windows("Платёжка.xls").Activate

 If Len(НомерПл) = 0 Then

БОКС = MsgBox("Вы не выбрали платёжку...", , BOX)

Exit Sub

 Else

 End If

 If ПроверкаПЛ = False Then ' Проверка на правильность

Exit Sub ' введённой информации

Else ' функция находится в конце программы

 End If

Вплатёжку 'функция сохраняющая данные в платёжке

ActiveWorkbook.Save

Windows("Платёжки" & Year(Date)).Activate

Worksheets(№ПЛ).Range("A" & НомерПл) = НомерПл

Worksheets(№ПЛ).Range("c" & НомерПл) = Банк

Worksheets(№ПЛ).Range("d" & НомерПл) = Счёт

Worksheets(№ПЛ).Range("b" & НомерПл) = Клиент

Worksheets(№ПЛ).Range("e" & НомерПл) = КодБанка

Worksheets(№ПЛ).Range("f" & НомерПл) = УНН

Worksheets(№ПЛ).Range("g" & НомерПл) = Деньги

Worksheets(№ПЛ).Range("h" & НомерПл) = Дата

Worksheets(№ПЛ).Range("I" & НомерПл) = ДатаУслуг

Worksheets(№ПЛ).Range("J" & НомерПл) = ВидОперации

Worksheets(№ПЛ).Range("K" & НомерПл) = НазначПлатежа1

Worksheets(№ПЛ).Range("L" & НомерПл) = НомНазПл

Worksheets(№ПЛ).Range("M" & НомерПл) = МП1

Windows("Платёжка.xls").Activate

Впечать 'функция печати

End Sub

Private Sub ИзмененияСТ_Click()

 If Year(Дата) <> Год Then

 БОКС = MsgBox("В дате должен стоять " & Год & " год", , BOX)

 Exit Sub

 End If

Windows("Платёжка.xls").Activate

 If Len(НомерПл) = 0 Then

БОКС = MsgBox("Вы не выбрали платёжку...", , BOX)

Exit Sub

Else

 End If

 If ПроверкаПЛ = False Then ' Проверка на правильность

Exit Sub ' введённой информации

Else ' функция находится в конце программы

 End If

Вплатёжку 'функция сохраняющая данные в платёжке

ActiveWorkbook.Save

 Windows("Платёжки" & Год).Activate

Worksheets(№ПЛ).Range("A" & НомерПл) = НомерПл

Worksheets(№ПЛ).Range("c" & НомерПл) = Банк

Worksheets(№ПЛ).Range("d" & НомерПл) = Счёт

Worksheets(№ПЛ).Range("b" & НомерПл) = Клиент

Worksheets(№ПЛ).Range("e" & НомерПл) = КодБанка

Worksheets(№ПЛ).Range("f" & НомерПл) = УНН

Worksheets(№ПЛ).Range("g" & НомерПл) = CDbl(Деньги)

Worksheets(№ПЛ).Range("h" & НомерПл) = Дата

Worksheets(№ПЛ).Range("I" & НомерПл) = ДатаУслуг

Worksheets(№ПЛ).Range("J" & НомерПл) = ВидОперации

Worksheets(№ПЛ).Range("K" & НомерПл) = НазначПлатежа1

Worksheets(№ПЛ).Range("L" & НомерПл) = НомНазПл

Worksheets(№ПЛ).Range("M" & НомерПл) = МП1

ActiveWorkbook.Save

БОКС = MsgBox("Изменения в платёжку №: " & НомерПл & " успешно внесёны ", , BOX)

Клиент.SetFocus

End Sub

Private Sub Сегодня_Click()

Дата = Date

End Sub

Private Sub СтарыеПл_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

If СтарыеПл = False Then

Label16.Caption = " Нажав на эту кнопку Вы можете посмотреть все Ваши старом платёжки" _

 & " а так-же что-то подправить и сохранить эти изменения"

 Else

Label16.Caption = " Нажав на эту кнопку Вы перейдёте к форме формирования платёжек"

 End If

End Sub

Private Sub Отчёты_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Кнопка 'Отчёты' для перехода в форму ОТЧЁТЫ. Там Вы сможете узнать куда же делись Ваши деньги !!!"

End Sub

Private Sub Выход_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Кнопка 'Выход' для выхода из программы. Если решили выйти смело жмите, программа сохранит результаты вашей работы."

End Sub

Private Sub УбитьКлиента_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = " Нажав на эту кнопку Вы можете удалить выбранного Получателя из списка Получателей "

End Sub

Private Sub ПоНомеру_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = " Введите номер платёжки в расположенное рядом с этой кнопкой небольшое поле. Затем нажмите на эту кнопку и вы перейдёте к платёжке с введённым вами номером. "

End Sub

Private Sub Вконец_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = " Нажав на эту кнопку Вы осуществите переход к концу списка платёжек "

End Sub

Private Sub Измениния_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = " Нажав на эту кнопку Вы внесёте изменения в список Получателей "

End Sub

Private Sub ДобавитьПол_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = " Нажав на эту кнопку Вы внесёте в список Получателей Ваших денег данные о новом Получателе "

End Sub

Private Sub ИзмененияСТ_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = " Нажав на эту кнопку Вы можете сохранить изменения в старом платёжном поручении"

End Sub

Private Sub КСтарПл_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = " Нажав на эту кнопку Вы можете распечатать Ваше старое платёжное поручения" _

 & " Не забудьте выбрать кол-во копий в выпадающем списке рядом с кнопкой"

End Sub

Private Sub СохранитьНов_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Эта кнопка предназначена для сохранения созданного платёжного поручения"

End Sub

Private Sub Создать_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Нажав на эту кнопку Вы можете распечатать Ваше платёжное поручения" _

 & " Не забудьте выбрать кол-во копий в выпадающем списке рядом с кнопкой"

End Sub

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = Платящий

End Sub

Private Sub Плательщики_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Нажав эту кнопка Вы можете поменять текущего Плательщика или внести изменения в существующие данные о Плательщике"

End Sub

Private Sub Сегодня_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Кнопка для вставки текущей даты в формируемую платёжку"

End Sub

Private Sub КодБанка_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Обязательное поле. В это поле вносят код банка Получателя. Допускаются только цифровые значения."

End Sub

Private Sub ComboBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Что бы вставить данные Получателя платежа востользуйтесь этим выпадающем списком. Если данные отсутствуют, значит придётся добавить нового Получателя."

End Sub

Private Sub Label14_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Номер текущей платёжки"

End Sub

Private Sub Дата_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Обязательное поле. В это поле вносят дату формируемой платёжки. Допускаются такие форматы дат. Пример : 01,01,200 или 01/01/2000 или 01.01/00"

End Sub

Private Sub УНН_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "НЕ обязательное поле. В это поле вносят УНН Получателя. Допускаются только цифровые значения."

End Sub

Private Sub НазначПлатежа1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Обязательное поле. В это поле вносят сведения за что Вы собственно платите." _

 & "СОВЕТ если Вы знаете,что будете здесь писать почти всегда одно и тоже " _

 & "то нажмите кнопку Внести изменения в данные о Получателе."

End Sub

Private Sub Клиент_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Обязательное поле. В это поле вносят Наименование Получателя. На пример: ""ООО Приятные Мелочи"""

End Sub

Private Sub Банк_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Обязательное поле. В это поле вносят Наименование Банка Получателя. На пример: ""ОАО Белбизнесбанк г. Могилёв"""

End Sub

Private Sub Счёт_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Обязательное поле. В это поле вносят № расчётного счёта Получателя. Допускаются только цифровые значения."

End Sub

Private Sub ДатаУслуг_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "НЕ обязательное поле. В это поле вносят дату получения товара или оказания услуг. Пример: Предоплата или 28 марта 2000г."

End Sub

Private Sub ВидОперации_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "НЕ обязательное поле. В это поле вносят число отражающее вид операции. Допускаются только цифровые значения."

End Sub

Private Sub НомНазПл_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "НЕ обязательное поле. В это поле вносят число отражающее код назначения платежа. Допускаются только цифровые значения."

End Sub

Private Sub Деньги_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Обязательное поле. В это поле вносят сумму платежа. Допускаются только цифровые значения."

End Sub

Private Sub Минус_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Отнимает один день от текущей даты."

End Sub

Private Sub Плюс_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

 Label16.Caption = "Добавляет один день к текущей дате."

End Sub

Private Sub СохранитьНов_Click()

If Year(Дата) <> Year(Date) Then

БОКС = MsgBox("Извините но в строке 'Дата' ошибка. Укажите текущий Год", , BOX)

Дата.SetFocus

Exit Sub

End If

Windows("Платёжка.xls").Activate

If ПроверкаПЛ = False Then ' Проверка на правильность

Exit Sub  ' введённой информации

Else ' функция находится в конце программы

End If

If ComboBox1.ListIndex = -1 Then

БОКС = MsgBox("Извините но Вы забыли внести Получателя : " & Клиент & " в список Получателей ", , BOX)

Exit Sub

Else

End If

Windows("Клиенты" & Year(Date)).Activate

If Клиент <> ComboBox1 _

Or Счёт <> Worksheets(№ПЛ).Range("c" & ComboBox1.ListIndex + 1) _

Or Банк <> Worksheets(№ПЛ).Range("b" & ComboBox1.ListIndex + 1) _

Or КодБанка <> Worksheets(№ПЛ).Range("d" & ComboBox1.ListIndex + 1) _

Or УНН <> Worksheets(№ПЛ).Range("e" & ComboBox1.ListIndex + 1) _

Or ВидОперации <> Worksheets(№ПЛ).Range("f" & ComboBox1.ListIndex + 1) _

Or НомНазПл <> Worksheets(№ПЛ).Range("H" & ComboBox1.ListIndex + 1) _

Then

БОКС = MsgBox("Извините но Вы забыли внести Получателя : " & Клиент & " в список Получателей ", , BOX)

Exit Sub

Else

End If

Счётчик2.Visible = True

Предосмотр.Visible = True

Вплатёжку 'функция сохраняющая данные в платёжке

ActiveWorkbook.Save

Windows("Платёжки" & Year(Date)).Activate

СохранитьНов.Visible = False

Создать.Visible = True

X = 1

While Len(Worksheets(№ПЛ).Range("A" & X)) <> 0

X = X + 1

Wend

Worksheets(№ПЛ).Select

Range("A" & X).Select

Selection.NumberFormat = "#,##0"

Worksheets(№ПЛ).Range("A" & X) = X

Range("g" & X).Select

Selection.NumberFormat = "#,##0"

Worksheets(№ПЛ).Range("g" & X) = CDbl(Деньги)

Worksheets(№ПЛ).Range("c" & X) = Банк

Worksheets(№ПЛ).Range("d" & X) = Счёт

Worksheets(№ПЛ).Range("b" & X) = Клиент

Worksheets(№ПЛ).Range("e" & X) = КодБанка

Worksheets(№ПЛ).Range("f" & X) = УНН

Worksheets(№ПЛ).Range("h" & X) = Дата

Worksheets(№ПЛ).Range("I" & X) = ДатаУслуг

Worksheets(№ПЛ).Range("J" & X) = ВидОперации

Worksheets(№ПЛ).Range("K" & X) = НазначПлатежа1

Worksheets(№ПЛ).Range("L" & X) = НомНазПл

Worksheets(№ПЛ).Range("M" & X) = МП1

Windows("Платёжка.xls").Activate

Worksheets("Лист1").Range("O2") = X

 Windows("Клиенты" & Year(Date)).Activate

Worksheets(№ПЛ).Range("L" & ComboBox1.ListIndex + 1).NumberFormat = "@"

Worksheets(№ПЛ).Range("L" & ComboBox1.ListIndex + 1) = _

Worksheets(№ПЛ).Range("L" & ComboBox1.ListIndex + 1) + "" & X & "."

ActiveWorkbook.Save

Windows("Платёжки" & Year(Date)).Activate

ActiveWorkbook.Save

End Sub

Private Sub СтарыеПл_Click()

If СтарыеПл.Value = True Then

ComboBox1.Visible = False

НомерПл.Visible = True

Label1.Visible = False

Label14.Visible = True

Счётчик.Visible = True

Счётчик.SetFocus

КСтарПл.Visible = True

Создать.Visible = False

Измениния.Visible = False

ДобавитьПол.Visible = False

УбитьКлиента.Visible = False

СохранитьНов.Visible = False

ЗаПрошлыйГод.Visible = True

Счётчик2.Visible = True

Предосмотр.Visible = True

ИзмененияСТ.Visible = True

Вконец.Visible = True

номерСТПЛ.Visible = True

ПоНомеру.Visible = True

СтарыеПл.Caption = "Вернуться к созданию платёжек"

Счётчик = 0

Счёт = ""

Банк = ""

Клиент = ""

КодБанка = ""

УНН = ""

ВидОперации = ""

НазначПлатежа1 = ""

НомНазПл = ""

НомерПл = ""

Дата = ""

Деньги = ""

ДатаУслуг = ""

Else

If Год <> Year(Date) Then

Windows("Платёжки" & Год).Activate

ActiveWindow.Close

Год = Year(Date)

Else

End If

Дата = Date

Счёт = ""

Банк = ""

Клиент = ""

КодБанка = ""

УНН = ""

ВидОперации = ""

НазначПлатежа1 = ""

НомНазПл = ""

Деньги = ""

ДатаУслуг = ""

ComboBox1.ListIndex = True

НомерПл.Visible = False

Label1.Visible = True

Label14.Visible = False

Счётчик.Visible = False

КСтарПл.Visible = False

Измениния.Visible = True

ДобавитьПол.Visible = True

УбитьКлиента.Visible = True

СохранитьНов.Visible = True

ЗаПрошлыйГод.Visible = False

ComboBox1.Visible = True

Счётчик2.Visible = False

Предосмотр.Visible = False

ИзмененияСТ.Visible = False

Вконец.Visible = False

номерСТПЛ.Visible = False

ПоНомеру.Visible = False

СтарыеПл.Caption = "Посмотреть старые платёжки"

 End If

End Sub

Private Sub Создать_Click()

Windows("Платёжка.xls").Activate

Впечать 'функция печати

Создать.Visible = False

Счётчик2.Visible = False

End Sub

Private Sub Счётчик_Change()

Windows("Платёжки" & Год).Activate

 If Счётчик = 0 Then

Exit Sub

 Else

Клиент = Worksheets(№ПЛ).Range("B" & Счётчик)

Счёт = Worksheets(№ПЛ).Range("D" & (Счётчик))

Банк = Worksheets(№ПЛ).Range("C" & (Счётчик))

НомерПл = Worksheets(№ПЛ).Range("A" & (Счётчик))

КодБанка = Worksheets(№ПЛ).Range("E" & (Счётчик))

УНН = Worksheets(№ПЛ).Range("F" & (Счётчик))

Деньги = Worksheets(№ПЛ).Range("g" & Счётчик)

ДатаУслуг = Worksheets(№ПЛ).Range("I" & Счётчик)

ВидОперации = Worksheets(№ПЛ).Range("J" & Счётчик)

НазначПлатежа1 = Worksheets(№ПЛ).Range("K" & Счётчик)

НомНазПл = Worksheets(№ПЛ).Range("L" & Счётчик)

Дата = Worksheets(№ПЛ).Range("h" & Счётчик)

МестоПечати1 'функция работающая с МП,БП, БезПечати

'задаёт значения этим компонентам

Windows("Платёжка.xls").Activate

Вплатёжку 'функция сохраняющая данные в платёжке

 End If

End Sub

Private Sub УбитьКлиента_Click()

Windows("Клиенты" & Year(Date)).Activate

If Len(ComboBox1) = 0 Then

БОКС = MsgBox("Вы не выбрали не одного Получателя для удаления...", , BOX)

Exit Sub

'ElseIf ComboBox1.ListIndex = -1 Then

End If

Dim a

a = ComboBox1

БОКС = MsgBox("Вы действительно хотите удалить Получателя : " & a, vbYesNo, BOX)

 If БОКС <> vbYes Then

Exit Sub

ElseIf Len(Worksheets(№ПЛ).Range("L" & ComboBox1.ListIndex + 1)) <> 0 Then

БОКС = MsgBox("Извините, но Вы не можете удалить Получателя : " & a _

& Chr(10) & "так-как по нему производились платежи. " _

& Chr(10) & "Удалить этого Получателя Будет можно лишь УДАЛИВ ПЛАТЕЛЬЩИКА !!! " _

& Chr(10) & "В форме ПЛАТЕЛЬЩИКИ !!!" & Chr(10) & Chr(10) & _

Платящий, vbCritical, BOX)

Exit Sub

 End If

 If ComboBox1.ListIndex = -1 Then

Exit Sub

Else

Windows("Клиенты" & Year(Date)).Activate

Worksheets(№ПЛ).Select

Rows(ComboBox1.ListIndex + 1).Select

Selection.Delete Shift:=xlUp 'Удаляем запись о клиенте

a = ComboBox1

ComboBox1.RemoveItem (ComboBox1.ListIndex)

ActiveWorkbook.Save

БОКС = MsgBox("Вы удалили Получателя : " & a, , BOX)

ComboBox1.ListIndex = -1

Счёт = ""

Банк = ""

Клиент = ""

КодБанка = ""

УНН = ""

ВидОперации = ""

НазначПлатежа1 = ""

НомНазПл = ""

НомерПл = ""

Деньги = ""

ДатаУслуг = ""

 End If

End Sub

Private Sub Вконец_Click()

Windows("Платёжки" & Год).Activate

X = 1

While Len(Worksheets(№ПЛ).Range("A" & (X))) <> 0

X = X + 1

Wend

Счётчик.Value = X - 1

End Sub

Private Sub ПоНомеру_Click()

 If Len(номерСТПЛ) = 0 Then

БОКС = MsgBox("Вы забыли ввести номер платёжки", , BOX)

номерСТПЛ.SetFocus

Exit Sub

 ElseIf номерСТПЛ > 0 And номерСТПЛ < 65501 Then

Счётчик.Value = номерСТПЛ

номерСТПЛ = ""

номерСТПЛ.SetFocus

 Else

Вконец = True

БОКС = MsgBox("Был введён № несуществующей платёжки... Поэтому выполнен переход к концу списка платёжек ", , BOX)

номерСТПЛ.SetFocus

 Exit Sub

End If

If Len(НомерПл) = 0 Then

Вконец = True

БОКС = MsgBox("Был введён № несуществующей платёжки... Поэтому выполнен переход к концу списка платёжек ", , BOX)

номерСТПЛ.SetFocus

Else

 End If

End Sub

Private Function TRIMF()

Клиент = TRIM(Клиент)

Банк = TRIM(Банк)

Счёт = TRIM(Счёт)

КодБанка = TRIM(КодБанка)

Счёт = TRIM(Счёт)

КодБанка = TRIM(КодБанка)

УНН = TRIM(УНН)

ВидОперации = TRIM(ВидОперации)

НомНазПл = TRIM(НомНазПл)

Дата = TRIM(Дата)

ДатаУслуг = TRIM(ДатаУслуг)

НазначПлатежа1 = TRIM(НазначПлатежа1)

Деньги = TRIM(Деньги)

End Function

Private Function Проверка() As String

TRIMF

If ПроверкаОБЩ = False Then

Проверка = False

Exit Function

Else

Проверка = True

End If

End Function

Private Function ПроверкаПЛ() As String

TRIMF

If ПроверкаОБЩ = False Then

ПроверкаПЛ = False

Exit Function

Else

End If

If Len(НазначПлатежа1) = 0 Then

MsgBox "Извините но в 'Строке Введите Назначение Платежа' пусто"

НазначПлатежа1.SetFocus

ПроверкаПЛ = False

Exit Function

ElseIf IsDate(Дата) = False Then

MsgBox "Извините но в 'Строке Дата' ошибка или Вы забыли её ввести"

Дата.SetFocus

ПроверкаПЛ = False

Exit Function

ElseIf Len(Деньги) = 0 Or Деньги = "0" Then

БОКС = MsgBox("Извините но в 'Строке Введите Сумму' пусто", , BOX)

Деньги.SetFocus

Деньги = ""

ПроверкаПЛ = False

Exit Function

Else

ПроверкаПЛ = True

End If

End Function

Private Function ПроверкаОБЩ() As String

If Len(Клиент) = 0 Then

БОКС = MsgBox("Извините но в Строке Наименование Клиента пусто", , BOX)

Клиент.SetFocus

ПроверкаОБЩ = False

Exit Function

ElseIf Len(Банк) = 0 Then

БОКС = MsgBox("Извините но в Строке Банк Клиента пусто", , BOX)

Банк.SetFocus

ПроверкаОБЩ = False

Exit Function

ElseIf Len(Счёт) = 0 Then

БОКС = MsgBox("Извините но в Строке Р/с Клиента пусто", , BOX)

Счёт.SetFocus

ПроверкаОБЩ = False

Exit Function

ElseIf Len(КодБанка) = 0 Then

БОКС = MsgBox("Извините но в Строке Код Банка Клиента пусто", , BOX)

КодБанка.SetFocus

ПроверкаОБЩ = False

Exit Function

Else

 ПроверкаОБЩ = True

End If

End Function

Private Sub Счёт_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

 If (Not (Chr(KeyAscii) Like "[0-9]")) Then KeyAscii = 0

 End Sub

Private Sub Деньги_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

 If (Not (Chr(KeyAscii) Like "[0-9]")) Then KeyAscii = 0

 If Mid(Деньги, 1, 1) = "0" Then

Деньги = ""

 Else

 End If

End Sub

Private Sub КодБанка_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

 If (Not (Chr(KeyAscii) Like "[0-9]")) Then KeyAscii = 0

End Sub

Private Sub УНН_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

 If (Not (Chr(KeyAscii) Like "[0-9]")) Then KeyAscii = 0

End Sub

Private Sub ВидОперации_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

 If (Not (Chr(KeyAscii) Like "[0-9]")) Then KeyAscii = 0

End Sub

Private Sub НомНазПл_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

 If (Not (Chr(KeyAscii) Like "[0-9]")) Then KeyAscii = 0

End Sub

Private Sub НомерСТПЛ_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

 If (Not (Chr(KeyAscii) Like "[0-9]")) Then KeyAscii = 0

End Sub

Private Function Впечать() As String

Sheets("Лист1").Select

If Счётчик2 = 1 Then

ActiveWorkbook.Save

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

ElseIf Счётчик2 = 2 Then

Range("A1:W28").Select

Selection.Copy

Range("A29").Select

ActiveSheet.Paste

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Rows("29:80").Select

Selection.Delete Shift:=xlUp

ActiveWorkbook.Save

ElseIf Счётчик2 = 3 Then

Range("A1:W28").Select

Selection.Copy

Range("A29").Select

ActiveSheet.Paste

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Rows("29:80").Select

Selection.Delete Shift:=xlUp

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

ActiveWorkbook.Save

End If

End Function

Private Function Вплатёжку() As String

Windows("Платёжка.xls").Activate

Дата = Format(Дата, "Short Date")

Worksheets("Лист1").Range("D13") = Банк

Worksheets("Лист1").Range("Q11") = Счёт

Worksheets("Лист1").Range("E12") = Клиент

Worksheets("Лист1").Range("P14") = КодБанка

Worksheets("Лист1").Range("C12") = УНН

Worksheets("Лист1").Range("T7") = (Деньги & "=")

Worksheets("Лист1").Range("G4") = Format(Дата, "d mmmm yyyy")

Worksheets("Лист1").Range("L19") = ДатаУслуг

Worksheets("Лист1").Range("V19") = ВидОперации

Worksheets("Лист1").Range("B22") = НазначПлатежа1

Worksheets("Лист1").Range("O2") = НомерПл

Worksheets("Лист1").Range("V20") = НомНазПл

МестоПечати 'Функция работающая с параметрами места печати в платёжке

Worksheets("Лист1").Range("C27") = МП1

End Function

Private Function МестоПечати() As String

If МП = True Then

МП1 = "М/П"

ElseIf БП = True Then

МП1 = "Б/П"

ElseIf БезПечати = True Then

МП1 = ""

End If

End Function

Private Function МестоПечати1() As String

If Worksheets(№ПЛ).Range("M" & Счётчик) = "М/П" Then

МП = True

ElseIf Worksheets(№ПЛ).Range("M" & Счётчик) = "Б/П" Then

БП = True

ElseIf Worksheets(№ПЛ).Range("M" & Счётчик) = "" Then

БезПечати = True

End If

End Function


Информация о работе «VBA Платежка»
Раздел: Экономико-математическое моделирование
Количество знаков с пробелами: 48379
Количество таблиц: 6
Количество изображений: 13

Похожие работы

Скачать
177562
0
14

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

Скачать
327984
30
0

... ; - отдельная пиктограмма для форматирования; - появление механизма Drag & Plot, предназначенного для быстрой активизации диаграмм. 4.6. Техническое обеспечение. Автоматизированная система бухгалтерского учета Министерства здравоохранения Республики Тыва может функционировать при следующей конфигурации аппаратных средств: IBM совместимый компьютер с процессором 80386 фирмы Intel, ...

0 комментариев


Наверх