Учебник по Visual Basic Application    

Автор: доцент кафедры информатики ГУ-ВШЭ Герасимов Н.А.  

Москва, сентябрь, 2001 г.                                                       ВРЕМЯ    

КОМПЬЮТЕРНЫЙ КЛУБ ГУ-ВШЭ 
(ItClub HSE)


 Оглавление


Введение
Глава 1. Основы офисного программирования на VBA
Глава 2. Базовый набор элементов управления
Глава 3. Управление диалогом в VBA
Глава 4. Доступ к файлам и базам данных

Примеры и решения . ZIP-файл с примерами на VBA (Приложения для экономистов и менеджеров)
Литература .
Справочный материал

Об авторе

Введение

Историческая справка развития интерактивных систем проектирования диалоговых приложений на базе Visual Basic,
Сначала был Basic (1964 год). Затем появилось семейство языков типа Basic (1970-1980).
Например, BasicWang, Basic Dec, Basic HP, MegaBasic, QuickBasicб QBasic и т.п.
В 1990 году Visual Basic (сейчас VB6). В 1995 году Visual Basic Application в Excel.
Затем для Web конструкторов VBScript.
Теперь VBA есть во всех приложениях MicroSoft Office.
Ключевые слова: VB6, VBA, VBScript, объекты, объектно-ориентированное программирование, визуальное конструирование, Web-проектирование.

 

 

 

 

Вернуться в оглавление (back to menu)


Глава 1. Основы офисного программирования на VBA.

 

1.1. Переменные, константы, массивы, структуры данных

Переменные используются для хранения изменяющихся данных в памяти компьютера.
Переменные в Visual Basic имеют имена. Для формирования имен переменных применяются следующие правила

Примеры имен переменных: strName, numRow, strFullName

Переменные могут быть различного типа

Название типа переменной Обозначение типа в VBA Пример
Целое число Integer Dim I,K,L As Integer
Символьная переменная String Dim StrName As String
     


Тип переменной определяет размер памяти, отводимой для хранения данных в машинной памяти. В Visual Basic используются следующие типы переменных

Константы используются для хранения не изменяющихся данных (например: чило "пи", "е" и т.п.). Имена констант

 

1.2. Операции, встроенные функции, подпрограммы и функции пользователей

 Для выполнения сложных вычислений в VBA используются встроенные функции (вычисление синуса, логарифма, преобразования и т.п.). Основные группы встроенных функций показаны ниже

Функции математические

Название функции Обозначение в VBA Пример использования
Вычисление синуса Sin()  Y=Sin(x)
Вычисление натурального логарифма Ln()  Y=Ln(x)
Получение случайного числа Rnd()  n=Rnd(1)*1000

Функции контроля и преобразования данных

Название функции Обозначение в VBA Пример использования
Проверка переменной на число IsNumeric() If  Not IsNumeric(nn) then ...
Проверка переменной на дату IsDate() Fl=IsDate(dd)
     

 

Функции работы со строковыми переменными

Название функции Обозначение в VBA Пример использования
Определение длинны строковой переменной Len(s1)  s1="Иванов"
l=Len(s1)
l равно 3
Объединение двух строк  s1 & s2  s1="Иванов " а s2="123456"
s3=s1 & s2
s3 равно ""Иванов 123456"
Поиск позиции одной строковой переменной в другой Instr(n1,s1,s2)  Пусть s1="3", а s2="12223456"
v=Instr(1,s1,s2)
v равно 5

 

1.3. Операторы ветвления программ (If...Then. Select...Case)

 В VBA допустимы следующие конструкции условного оператора If

Простая конструкция

If <условие> Then <Оператор>

Блочные конструкция

If <условие> Then
    <Блок операторов>
End If

If <условие> Then
    <Блок операторов, который выполняется если условие выполнено>
Else
    <Блок операторовкоторый выполняется если условие не выполнено>

End If

If <условие1> Then
    <Блок операторов1>
ElseIf <условие2> Then
    <Блок операторов2>
ElseIf <условие3> Then
    <Блок операторов3>
...
End If

 Разветвление в программе с помощью Select

Select <переменная>

        Case <значение переменной> : <оператор>
        Case <значение переменной>  
            <Блок операторов>
        Case <значение переменной>  
            <Блок операторов>

End Select

1.4. Организация циклов (For...Next, For Each ...,Do...Loop)

Циклы организуются для многократного повторения выполнения группы операторов.

Циклы с конечным числом повторений

For <имя переменной цикла>=<нач. значение> To <кон. значение> [ Step <шаг изменения>]
        <блок операторов>
Next <имя переменной цикла>

Пример:
Sub Test1()
'вычисление квадрата чисел от 1 до 10 с шагом 2
   For x=1 to 10 step 2
       x1=x^2
       Debug.Print x, x1  'Вывод значений в окно отладки
   Next x
End sub

Организация цикла по коллекции объектов.

For Each <элемент множества или коллекции> In <множество или коллекция>

Пример
Sub Test2()
'выдать имена всех листов текущей книги Excel
   For   Each  b In   ActiveWorkbook.WorkSheets
       Debug.Print b.Name   'Вывод значений в окно отладки
   Next x
End sub

Организация бесконечных циклов 

Do [While <условие>]
    <Блок операторов>
Loop [<Until <условие>]

Пример
Sub Test3()
'поиск первой пустой строки в текущей таблице
Nstr=1 'Номер текущей строки в таблице
Do 
    rr=cells(Nstr.1).value
    if Trim(rr)=empty then Exit do
   'переход на следующую строку
    Nstr=Nstr+1
Loop 
Msgbox Nstr    'выдать сообщение  
End Sub

 

   For   Each  b In   ActiveWorkbook.WorkSheets
       Debug.Print b.Name   'Вывод значений в окно отладки
   Next x
End sub

1.5. Модули и макросы

 

Вернуться в оглавление (back to menu)


Глава 2. Базовый набор элементов управления

2.1. Формы их свойства (Form)

Пример формы для ввода данных в платежное поручение

 

Вернуться в оглавление (back to menu)


Глава 3. Управление диалогом в VBA

 3.1. Создание кнопочного меню

3.2. Проектирование диалога типа "Меню"

3.3. Связь между формами

Примеры к лекции 4  

 

Вернуться в оглавление (back to menu)


Глава 4. Доступ к файлам и базам данных.

 

 

 

Вернуться в оглавление (back to menu)


Примеры и решения. (Zip - файл с примерами)

 

Примеры к лекции 1  

Примеры к лекции 2  

Примеры к лекции 3  

Примеры к лекции 4  

Примеры к лекции 5  

Примеры к лекции 6  

Примеры к лекции 7  

 

Вернуться в оглавление (back to menu)


Литература

 Вернуться в оглавление (back to menu)


Справочный материал.

 

Вернуться в оглавление (back to menu)

Хостинг от uCoz