- •Норинский л. Ю. Программирование на 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.
- •Литература
Проект 4.
Работа с простым списком при использовании пользовательского меню. Проекту присвоено имя Pro4.
При разработке проекта создаются следующие формы:
1. Загрузочная форма Form400, которая отличается от формы Form100 проекта Pro1 только значением Caption = Работа с простым списком при использовании пользовательского меню (для метки Label401);
2. Форма frmSPISOK401, со свойствами Name = frmSPISOK401 и Caption = Простой список, содержащая по сравнению с frmSPISOK201 в Pro2 дополнительно следующие элементы управления: cmdCommand401 с Caption = OK и cmdCommand402 с Caption = Help;
3. frmDialog401 – такая же как и frmDialog201 в Pro2;
4. frmDialog402 – такая же как frmDialog401, но отсутствует ЭУ txtZAGOLOVOK;
5. frmHelp содержит следующие ЭУ:
а) метка lblHelp с Caption = Для пеехода между полями списка использовать клавишу Tab; для удаления записи выполнить пункт меню УДАЛИТЬ, установить курсор на требуемую запись и нажать ОК;
б) командная кнопка cmbHelp c Caption = OK;
6. frmMenu401 – основные свойства такие же как и у других ЭУ.
Форма frmHelp имеет следующий вид:
Форма frmMenu401 имеет следующий вид:
Проект имеет следующий состав процедур:
модуль процедур общего назначения под именем Mod1
Attribute VB_Name = "Mod1"
' РАБОТА С ПРОСТЫМ СПИСКОМ ПРИ ИСПОЛЬЗОВАНИИ
' ПОЛЬЗОВАТЕЛЬСКОГО МЕНЮ
Public NG As Integer 'Номер группы
Public PS As Integer 'Признак создания списка
Sub Main()
Form400.Visible = False
PS = 0
frmMenu401.Show
End Sub
'Создание нового списка
Public Sub New_Spis()
NG = InputBox("Введите № группы")
frmSPISOK401.Form_Load
frmDialog401.Form_Load
frmDialog401.Show vbModal
frmSPISOK401.Show
PS = 1
End Sub
'Просмотр списка
Public Sub View_Spis()
If PS <> 1 Then
MsgBox "Список не создан"
Else
frmSPISOK401.Show
End If
End Sub
'Удаление записи
Sub Del_Zap()
Dim i As Integer
frmSPISOK401.Show vbModal
i = frmSPISOK401.lstGrup.ListIndex
frmSPISOK401.lstGrup.RemoveItem i
MsgBox "Удалена " & Str(i + 1) & "-я запись"
End Sub
'Добавление новой записи в существующий список
Sub Add_Zap()
Load frmDialog402
frmDialog402.Show vbModal
MsgBox "Запись добавлена"
End Sub
2) процедуры обработки событий форм
' Процедуры обработки событий формы Form400
Private Sub Command401_Click()
Mod1.Main
End Sub
Private Sub Command402_Click()
End
End Sub
' Процедуры обработки событий формы frmDialog401
Public Sub cmdCommand401_Click()
frmSPISOK401.lstGrup.AddItem _
txtFamiliy.Text & " " & _
txtName.Text & " " & _
txtOtchestvo.Text
End Sub
Public Sub cmdCommand402_Click()
txtFamiliy.Text = ""
txtName.Text = ""
txtOtchestvo.Text = ""
End Sub
Public Sub cmdCommand403_Click()
frmDialog401.Hide
End Sub
Public Sub Form_Load()
txtZAGOLOVOK_Change
End Sub
Public Sub txtZAGOLOVOK_Change()
txtZAGOLOVOK.Text = "Список группы " & Str(Mod1.NG)
End Sub
' Процедуры обработки событий формы frmDialog402
Public Sub cmdCommand401_Click()
frmSPISOK401.lstGrup.AddItem _
txtFamiliy.Text & " " & _
txtName.Text & " " & _
txtOtchestvo.Text
End Sub
Public Sub cmdCommand402_Click()
txtFamiliy.Text = ""
txtName.Text = ""
txtOtchestvo.Text = ""
End Sub
Public Sub cmdCommand403_Click()
Unload frmDialog402
End Sub
Public Sub Form_Load()
End Sub
' Процедуры обработки событий формы frmHelp
Private Sub cmbHelp_Click()
Unload frmHelp
End Sub
' Процедуры обработки событий формы frmMenu401
Public Sub Form_Load()
End Sub
' Добавление записи
Private Sub mnuAdd_Click()
If Mod1.PS = 0 Then
MsgBox "Список не создан"
Else
Mod1.Add_Zap
End If
End Sub
' Выход из меню
Private Sub mnuCancel_Click()
Unload frmSPISOK401
Unload frmMenu401
Form400.Show
End Sub
' Удаление записи
Private Sub mnuDel_Click()
If Mod1.PS = 0 Then
MsgBox "Список не создан"
Else
Mod1.Del_Zap
End If
End Sub
' Вызов помощи
Public Sub mnuHelp_Click()
Load frmHelp
frmHelp.Show
End Sub
' Создание нового списка
Private Sub mnuNew_Click()
Mod1.New_Spis
End Sub
' Просмотр списка
Private Sub mnuView_Click()
Mod1.View_Spis
End Sub
Private Sub cmbCommand402_Click()
frmMenu401.mnuHelp_Click
End Sub
' Процедуры обработки событий формы frmSPISOK401
Private Sub cmdCommand401_Click()
frmSPISOK401.Visible = False
End Sub
Public Sub Form_Load()
txtZAGOLOVOK_Change
End Sub
Public Sub txtZAGOLOVOK_Change()
txtZAGOLOVOK.Text = "Список группы " & Str(Mod1.NG)
End Sub