- •Кафедра информатики и тсо
- •С помощью Visual Basic for Applications
- •Введение
- •I. Постановка задачи
- •II. Этапы разработки приложения
- •III. Особенности интерфейса vba
- •IV. Некоторые сведения о языке Visual Basic for Applications
- •4.1. Основные понятия
- •4.2. Типы данных
- •Типы данных vba
- •4.3. Правила присвоения имен в vb
- •4.4. Проверка синтаксических ошибок
- •V. Пример создания приложения
- •Соответствие информационных объектов и элементов проекта
- •VI. Тематика индивидуальных заданий
- •VII. Библиографический список
- •Приложение 1 Примеры некоторых типовых программных решений Пример использования инструкции Do…Loop
- •Id As Integer ' Помещает это описание
- •Генерация случайного целого числа
- •Приложение 2 Краткий справочник по объектам, методам, свойствам и функциям, использованным в примерах
- •Автоматизация Excel-приложений с помощью Visual Basic for Applications Учебно-методическое пособие по курсу
- •Составитель в.Б. Тарасюк
- •305000, Г. Курск, ул. Радищева, 33 (тел. 56-84-60)
Id As Integer ' Помещает это описание
Name As String * 10 ' в стандартный модуль.
Address As String * 30
End Type
Dim Customer As CustomerRecord ' Описывает переменные.
Dim MyInt As Integer, MyCur As Currency
Dim MyString, MyLen
MyString = "Всем привет" ' Инициализирует переменную.
MyLen = Len(MyInt) ' Возвращает 2.
MyLen = Len(Customer) ' Возвращает 42.
MyLen = Len(MyString) ' Возвращает 11.
MyLen = Len(MyCur) ' Возвращает 8.
В данном примере функция Mid используется для извлечения указанного числа символов из строки.
Dim MyString, FirstWord, LastWord, MidWords
MyString = "Пример функции Mid" ' Инициализирует строку.
FirstWord = Mid(MyString, 1, 6) ' Возвращает "Пример".
LastWord = Mid(MyString, 16, 3) ' Возвращает "Mid".
MidWords = Mid(MyString, 8) ' Возвращает "функции Mid".
В данном примере функция Right используется для извлечения указанного числа последних символов строки.
Dim AnyString, MyStr
AnyString = "Всем привет" ' Инициализирует строку.
MyStr = Right(AnyString, 1) ' Возвращает "т"
MyStr = Right(AnyString, 7) ' Возвращает " привет".
MyStr = Right(AnyString, 20) ' Возвращает "Всем привет".
Пример использования переключателей CheckBox
В данном примере переключатели CheckBox использованы для настройки шрифта, выводимого в поле редактирования. Диалоговая форма, соответствующая данному примеру, приведена на рис.9.
Рис.9. Диалоговая форма
Процедуры обработки событий, обеспечивающих работу программы, имеют вид:
Private Sub CheckBox1_Change()
If UserForm1.TextBox1.Font.Bold = False Then
UserForm1.TextBox1.Font.Bold = True
Else
UserForm1.TextBox1.Font.Bold = False
End If
End Sub
Private Sub CheckBox2_Change()
If UserForm1.TextBox1.Font.Italic = False Then
UserForm1.TextBox1.Font.Italic = True
Else
UserForm1.TextBox1.Font.Italic = False
End If
End Sub
Private Sub UserForm_Activate()
UserForm1.TextBox1.Text = "Hello"
UserForm1.CheckBox1.Value = False
UserForm1.CheckBox2.Value = False
End Sub
Пример использования кнопок OptionButton.
В данном примере показано, как с помощью кнопок OptionButton программируется переключатель размера шрифта в текстовом поле. Форма, соответствующая данному примеру, приведена на р ис. 10.
Рис.10. Общий вид формы
В процедуре UserForm Activate назначается положение переключателя при запуске формы, а в процедуре OptionButton Change – реакция программы на изменение положения переключателя:
Private Sub UserForm_Activate()
UserForm2.TextBox1.Text = "Привет"
UserForm2.OptionButton1.Value = True
UserForm2.OptionButton2.Value = False
End Sub
Private Sub OptionButton1_Change()
If UserForm2.OptionButton1 = True Then
UserForm2.TextBox1.Font.Size = 10
Else
UserForm2.TextBox1.Font.Size = 14
End If
End Sub
Пример программы, использующей элемент управления ListBox (Список)
В данном примере элемент управления ListBox использован для выбора параметров шрифта, выводимого в TextBox1, а также смены картинки, представляемой в поле Image1. Диалоговая форма, соответствующая рассматриваемому примеру, показана на рис.11.
Рис.11. Диалоговая форма
При программировании элемента управления ListBox удобно воспользоваться инструкцией Select Case. Контроль состояния элемента ListBox осуществляется при щелчке мыши. Индикатором является порядковый номер выбранной строки (свойство Listindex). При программировании следует иметь ввиду, что нумерация сток ListBox начинается с нуля.
Текст программы для данного примера выглядит следующим образом:
Private Sub ListBox1_Change()
Select Case ListBox1.ListIndex
Case 0
UserForm3.ListBox1.Font.Size = 10
UserForm3.Image1.Picture = LoadPicture("c:\windows\Клыки.bmp")
Case 1
UserForm3.ListBox1.Font.Size = 14
UserForm3.Image1.Picture = LoadPicture("c:\windows\Циновка.bmp")
Case 2
UserForm3.ListBox1.Font.Size = 16
UserForm3.Image1.Picture = LoadPicture("c:\windows\Установка.bmp")
End Select
End Sub
Private Sub UserForm_Activate()
UserForm3.ListBox1.AddItem "First"
UserForm3.ListBox1.AddItem "Second"
UserForm3.ListBox1.AddItem "Fors"
UserForm3.TextBox1.Text = "Выбор объекта"
End Sub