- •Кафедра информатики и тсо
- •С помощью 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)
VII. Библиографический список
Нортон П. и др. Microsoft Office 2000. – Киев: DiaSoft, 1999. –556 с.
Витенко О.И., Яковлев В.А. Visual Basic в бюро. – Киев: BHV, 1997. – 226 с.
Visual Basic 5. Шаг за шагом: Практическое пособие / Пер. с англ. – М.: ЭКОМ, 1998. – 432 с.
Штайнер Т. Microsoft Excel 2000: Справочник. – М.: Лаборатория Базовых Знаний, 2000. – 480 с.
Штайнер Т. Microsoft Office 2000: Справочник. – М.: Лаборатория Базовых Знаний, 2000. – 576 с.
Приложение 1 Примеры некоторых типовых программных решений Пример использования инструкции Do…Loop
В данном примере показано, как можно использовать инструкции Do...Loop. Внутренний цикл Do...Loop выполняется 10 раз, затем логической переменной присваивается значение False, после чего он преждевременно завершается с помощью инструкции Exit Do. Внешний цикл завершается немедленно после проверки значения логической переменной.
Dim Check, Counter
Check = True: Counter = 0 ' Инициализирует переменные.
Do ' Внешний цикл.
Do While Counter < 20 ' Внутренний цикл.
Counter = Counter + 1 ' Увеличивает счетчик.
If Counter = 10 Then ' Если условие истинно.
Check = False ' Присваивает переменной
' значение False.
Exit Do ' Завершает внутренний цикл.
End If
Loop
Loop Until Check = False ' Немедленно завершает внешний цикл.
Пример использования инструкции For…Next
В рассматриваемом примере инструкция For...Next используется для создания строки, содержащей 10 наборов по 10 цифр (от 0 до 9); каждый набор отделяется от следующего одним пробелом. Внешний цикл использует переменную-счетчик, которая уменьшается на единицу при каждом выполнении цикла.
Dim Words, Chars, MyString
For Words = 10 To 1 Step -1 ' Цикл выполняется 10 раз.
For Chars = 0 To 9 ' Цикл выполняется 10 раз
MyString = MyString & Chars ' Добавляет цифру в конец строки.
Next Chars ' Увеличивает счетчик
MyString = MyString & " " ' Добавляет пробел.
Next Words
Пример использования инстркуции If…Then…Else
В данном примере показано использование как блоковой, так и однострочной форм инструкции If...Then...Else, а также проиллюстрировано использование инструкции If TypeOf...Then...Else.
Dim Number, Digits, MyString
Number = 53 ' Инициализирует переменную.
If Number < 10 Then
Digits = 1
ElseIf Number < 100 Then
' Условие является истинным, поэтому выполняется следующая инструкция.
Digits = 2
Else
Digits = 3
End If
Использует однострочную форму для присвоения значения.
If Digits = 1 Then MyString = "Один" Else MyString = "Больше 1".
Использует конструкцию If TypeOf для определения, является ли элемент управления, переданный процедуре, текстовым полем.
Sub ControlProcessor(MyControl As Control)
If TypeOf MyControl Is CommandButton Then
Debug.Print "Передан " & TypeName(MyControl)
ElseIf TypeOf MyControl Is CheckBox Then
Debug.Print "Передан " & TypeName(MyControl)
ElseIf TypeOf MyControl Is TextBox Then
Debug.Print "Передан " & TypeName(MyControl)
End If
End Sub
Пример использования инструкции Public
В данном примере инструкция Public используется на уровне модуля в общем разделе стандартного модуля для явного объявления переменных общими. Общие переменные доступны всем процедурам во всех модулях во всех приложениях (если инструкция Option Private Module отключена).
Public Number As Integer ' Общая переменная типа Integer.
Public NameArray(1 To 5) As String ' Общая переменная-массив.
' Несколько объявлений (Variant, Variant и Integer), все общие.
Public MyVar, YourVar, ThisVar As Integer
Примеры использования некоторых функций для обработки строковых данных
В данном примере функция Left используется для извлечения указанного числа первых символов строки.
Dim AnyString, MyStr
AnyString = "Всем привет" ' Задает строку.
MyStr = Left(AnyString, 1) ' Возвращает "В".
MyStr = Left(AnyString, 6) ' Возвращает "Всем п".
MyStr = Left(AnyString, 20) ' Возвращает "Всем привет".
В данном примере функция Len используется для определения числа символов в строке или числа байт, необходимого для размещения переменной. Если блок Type...End Type, описывающий тип CustomerRecord, помещен в модуль класса, то перед ним необходимо добавить ключевое слово Private. В стандартном модуле инструкция Type может быть общей (Public).
Type CustomerRecord ' Описывает тип, определяемый пользователем.