- •Норинский л. Ю. Программирование на Visual Basic и Visual Basic for Applications (Конспект лекций)
- •Введение
- •1. Основы языка программирования visual Basic
- •1.1. Общие сведения о Visual Basic
- •1.2. Среда vb, инструментальные средства. Разработка проектов
- •1.3. Типы данных. Константы и переменные
- •1.4. Операции
- •1.5. Ввод и вывод данных
- •1.6. Управляющие операторы
- •1.7. Массивы
- •1.8. Примеры программ работы с числами
- •1.9. Обработка строк. Примеры
- •1.10. Математические вычисления. Другие операторы и функции
- •1.11. Процедуры и функции. Примеры
- •1.12. Работа с файлами
- •1.13. Обработка ошибок
- •2. Разработка интерфейса
- •2.1. Элементы управления
- •2.1.1. Общие сведения
- •2.1.2. Встроенные эу
- •2.1.3. Внедренные и связанные эу
- •2.2. Разработка форм
- •2.3. Создание и использование меню
- •2.4. Окна диалога
- •3. Классовое общество
- •3.1. Классы-формы
- •3.2. Модули классов и стандартные модули
- •3.3. Управление событиями объекта
- •3.4. Семейства и массивы объектов
- •4. Vba. Макропрограммирование
- •4.1. Общие сведения о vba
- •4.2. Работа в Excel с помощью vba
- •4.2.1. Объекты Application и семейство Workbooks
- •4.2.2. Объекты Worksheet и Worksheets
- •4.2.3. Объект Range
- •4.3. Макропрограммирование
- •4.4. Создание макросов в Word
- •4.5. Создание макросов в Excel
- •4.6. Пример макроса
- •Приложения п1. Некоторые виды ошибок
- •П2. Свойства элементов управления
- •П3. Методы работы с элементами управления
- •П4. Примеры проектов vb Проект 1.
- •Проект 2.
- •Проект 3.
- •Проект 4.
- •Проект 5.
- •Проект 6.
- •Проект 8.
- •Проект 11.
- •П5. Пример ПроектА vba.
- •Литература
Проект 5.
Создание неупорядоченного простого списка и его сортировка. Проекту присвоено имя Pro5.
При разработке проекта создаются следующие формы:
1. Загрузочная форма Form500, которая отличается от формы Form100 проекта Pro1 только значением Caption = Создание неупорядоченного простого списка и его сортировка (для метки Label500);
2. Форма frmSPISOK501, со свойствами Name = frmSPISOK501 и Caption = Простой список, содержащая по сравнению с frmSPISOK401 в Pro4 только cmdCommand401 с Caption = OK;
3. Форма frmSPISOK502 - со свойствами такими же как у frmSPISOK501, но из всех ЭУ имеется только простой список и Sorted = True;
4. frmDialog501 – такая же как и frmDialog201 в Pro2;
5. frmMenu501 – основные свойства такие же как у других ЭУ; аналогична frmDialog401.
Форма frmMenu501 имеет следующий вид:
Проект имеет следующий состав процедур:
модуль процедур общего назначения под именем Mod1
Attribute VB_Name = "Mod1"
Public NG As Integer 'Номер группы
Public PS As Integer ‘ Признак создания списка
Sub Main()
PS = 0
frmMenu501.Show
End Sub
Public Sub New_Spis()
NG = InputBox("Введите № группы")
frmSPISOK501.Form_Load
frmDialog501.Form_Load
frmDialog501.Show vbModal
frmSPISOK501.Show
PS = 1
End Sub
Public Sub View_Spis()
If PS <> 1 Then
MsgBox "Список не создан"
Else
frmSPISOK501.Show
End If
End Sub
Sub Sort_Spis()
Dim i As Integer
frmSPISOK502.Form_Load
For i = 0 To frmSPISOK501.lstGrup.ListCount - 1
frmSPISOK502.lstGrup.AddItem _
frmSPISOK501.lstGrup.List(i)
Next i
frmSPISOK501.lstGrup.Clear
For i = 0 To frmSPISOK502.lstGrup.ListCount - 1
frmSPISOK501.lstGrup.AddItem _
frmSPISOK502.lstGrup.List(i)
Next i
Unload frmSPISOK502
MsgBox "Сортировка закончена"
End Sub
процедуры обработки событий форм
'Процедуры обработки событий формы Form500
Private Sub Command501_Click()
Mod1.Main
End Sub
Private Sub Command502_Click()
End
End Sub
'Процедуры обработки событий формы frmDialog501
Public Sub cmdCommand501_Click()
frmSPISOK501.lstGrup.AddItem _
txtFamiliy.Text & " " & _
txtName.Text & " " & _
txtOtchestvo.Text
End Sub
Public Sub cmdCommand502_Click()
txtFamiliy.Text = ""
txtName.Text = ""
txtOtchestvo.Text = ""
End Sub
Public Sub cmdCommand503_Click()
frmDialog501.Hide
End Sub
Public Sub Form_Load()
txtZAGOLOVOK_Change
End Sub
Public Sub txtZAGOLOVOK_Change()
txtZAGOLOVOK.Text = "Список группы " & Str(Mod1.NG)
End Sub
'Процедуры обработки событий формы frmMenu501
Public Sub Form_Load()
End Sub
Private Sub mnuCancel_Click()
Unload frmSPISOK501
Unload frmMenu501
Form500.Show
End Sub
Private Sub mnuNew_Click()
Mod1.New_Spis
End Sub
Private Sub mnuSort_Click()
If PS = 0 Then
MsgBox "Список не создан"
Else
Mod1.Sort_Spis
End If
End Sub
Private Sub mnuView_Click()
Mod1.View_Spis
End Sub
'Процедуры обработки событий формы frmSPISOK501
Private Sub cmdCommand501_Click()
frmSPISOK501.Visible = False
End Sub
Public Sub Form_Load()
txtZAGOLOVOK_Change
End Sub
Private Sub Label1_Click()
End Sub
Public Sub txtZAGOLOVOK_Change()
txtZAGOLOVOK.Text = "Список группы " & Str(Mod1.NG)
End Sub