Содержание 1 введение 6
СодержаниеКонтрольная работа № 1 170
2 Проект VBA
3 Типы данных и переменные 3.1 Типы данных в VBA
Требуемая память
3.2 Объявление простых переменных
Public Const pi As Double = 3.1415926 ' Глобальная переменная
3.3 Объявление констант
Public Const pi As Double = 3.1415926
Public Sub MyArray()
Public Sub DinArray()
3.5 Записи и тип, определенный пользователем
Type Fam 'Определение структуры записи из двух полей
With Mamontov
4 Операции и встроенные функции 4.1 Выражение. Правила построения выражений в VBA
4.2 Функции обработки числовых данных
4.3 Обработка строковых данных
Dim stroka As String
Основные функции обработки строковых переменных
InStr([start,]string1, string2[, compare])
Left(string, length)
Mid(string, start[, length])
Lcase(string), UCase(string)
4.4 Работа с датами и временем
Присваивание значений
Public Sub WorkWithDates()
Встроенные функции работы над датами
DatAdd (interval, number, data)
Interval задает тип временного интервала при вычислении разности между датами date1 и date2 – его возможные значения те же, что
DateSerial(year, month, day)
TimeSerial(hour, minute, second)
5 Операторы 5.1 Операторы как основа
MyAddress = "дом: " & Number & " улица: " & Street _
5.2 Оператор комментария
Оператор Let
Let можно применять для присваивания одной переменной типа запись значения
Dim MyStr As String, MyInt As Integer
Lset Стрпеременная = СтрВыражение
Public Sub Assign2()
Type MyType1
Оператор Rset
Public Sub Assign4()
Debug.Print Str1, Str2, Str3
5.4 Управляющие операторы
Условный оператор If Then Else End If
If условие Then [операторы1] [Else операторы2]
True или False
Public Sub MinMax2(ByVal X As Integer, ByVal Y As Integer, _
Private Type Man
Оператор выбора Select Case
Select Case Выражение-текст
Dim Before As Integer
Case "everything ", "nuts" To "soup"
For счетчик_цикла = начало To конец [Step шаг]
Public Sub For1()
Next можно не указывать имя переменной, задающей счетчик, – это имя подразумевается по умолчанию, как завершающее последний откр
Public Sub For2()
Цикл Do…Loop
Do [{While | Until} условие]
Public Sub Loop1()
While условие
Цикл For Each…Next
Private Mas() As Integer
5.5 Работа с файлами и папками
Создание файла: оператор Open
Тип доступа
Open путь For режим As [#]НомерФайла
Open "TestFile" For Input As #1
Open. При закрытии файла, открытого в режимеOutput
Запись отформатированных данных в файл с последовательным доступом: оператор Print
Sps(n) – используется для вставки пробелов в файл. Здесь n
Private Sub MyPrint()
Чтение данных из открытого последовательного файла: оператор Input
Private Sub MyInput()
Line Input #НомерФайла, ИмяПеременной
Variant или String
Random). ИмяПеременной
Type Record
Binary – номер байта, с которого следует читать данные). ИмяПеременной
ID As Integer
Изменение текущего каталога (папки): оператор CHDir
ChDir "D:\TMP"
ChDrive "F"
Name СтароеИмя As НовоеИмя
RmDir "Temp3"
Копирование файлов: оператор FileCopy
Удаление файлов: оператор Kill
Kill "PROG.
5.6 Прочие операторы
Установка системной даты: оператор Date
Time = время
SendKeys строка[, режим-ожидания]
Shift, Ctrl
Public Sub OpenDocWithPassword()
Documents.Open "c:\work\crt.doc"
Open предшествовал оператору SendKeys
6 Процедуры и функции 6.1 Классификация процедур
Sub, вторые – Function
6.2 Синтаксис процедур и функций
Main с нулевым списком параметров и процедуру Product
Function SQ(x1 As Single, y1 As Single, x2 As Single, y2 As Single, _
7 Диалоговый ввод/вывод информации
Функция InputBox
InputBox (сообщение[,заголовок][,текст_по_умолчанию]
OK или клавишу ENTER
MsgBox (сообщение[,кнопки][,заголовок]
Нажатая кнопка
MsgBox. Public Sub WinMsg()
8 Интегрированная среда vba 8.1 Окно редактирования проекта
Шаг с заходом
Шаг с обходом
Шаг с выходом
8.2 Окно редактирования форм UserForm
8.2.1 Создание формы
8.2.2 Размещение элементов управления в форме
Элементы управления
8.2.2.1 Поле (TextBox)
Value. Это свойство имеет тип Variant
TextBox можно использовать следующие инструкции: Dim varFirstName As Variant
TextBox применяется для отображения доступной только для чтения информации, такой, как имена файлов), следует «отключить» поле с
Shift) используется свойство SelText
VarText = "У Петрова был экзамен"
8.2.2.2 Надпись (Label)
8.2.2.3 Кнопка (CommandButton)
CommandButton1, CommandButton2
Dim Str_My_Button_Caption As String
Нажатие кнопки
Debug.Print "Моя новая программа"
8.2.2.4 Список (ListBox)
ListBox1.MultiSelect = fmMultiSelectExtended
Debug.Print ListBox1.Text
8.2.2.5 Поле со списком (ComboBox)
AddItem. Для получения значения, содержащегося в поле элемента управления ComboBox
8.2.2.6 Флажок (CheckBox)
Value элемента управления CheckBox
8.2.2.7 Переключатель (OptionButton)
Frame). Все объекты управления OptionButton
Value выбранного переключателя имеет значение True
8.2.2.8 Рамка (Frame)
8.2.2.9 Счетчик (SpinButton)
Private Sub SpinButton1_SpinUp()
Private Sub SpinButton1_SpinUp()
8.2.2.10 Выключатель (ToggleButton)
8.2.3 Пример: инициализация значений элементов управления
Теxt для всех полей диалогового окна. В простейшем случае требуется ввести элементы управления Пустые строки
8.2.4 Отображение диалоговых окон
8.2.5 Пример: проверка условий на значение полученных данных из формы
Private Sub cmdExpOK_Click()
Hide. Теперь необходимо написать процедуру обработки события Cancel
Private Sub cmdExpCancel_Click()
9 Объекты. классы. Методы и свойства объектов 9.1 Объекты и классы
9.2 Объекты OLE и ActiveX
9.3 Иерархия объектов
Объект.Свойство = ЗначениеСвойства
Visible (Видимость) значения False
10 Автоматизация работы в Word С помощью VBA 10.1 Программирование на макроязыке Visual Basic для приложений
10.2 Автоматическое создание макросов
Остановка записи макроса
10.3 Просмотр и корректировка и удаление макросов
10.4 Создание макросов в редакторе VBA
10.5 Добавление модуля VBA в шаблон
10.6 Какие файлы присоединены к шаблону?
Иерархия шаблонов
10.7 Автоматизация решения типичных задач
Sub OpenFile()
10.7.2 Выделение слов предметного указателя
Dim Message, Title, Default, IndexWord
10.7.3 Выбор принтера
Пуск (Start) Настройка\Принтеры
Сlick для переключателя optColor
End Sub4. Откройте форму, выберите переключатель optLaser
Private Sub cmdCancel_Click()
11 Автоматизация работы в Excel с помощью VBA 11.1 Модель объектов Excel
11.2 Использование объекта Application
11.3 Использование свойств объекта Application
Application.Caption = "Корпорация АБВ. Продажи"
XlWait определяет использование указателя мыши в виде песочных часов. Рекомендуется присвоить свойству Cursor
Cursor необходимо установить исходный вид мыши, присвоив свойству Cursor
Свойство DisplayAlerts.
Свойство EnableCancelKey.
Свойство PathSeparator
Dim strPath As String
Workbooks.Open strPath & "temp.xls"
Свойство StatusBar
Application.DisplayStatusBar = True
Application.Cursor = xlWait
Workbooks.Open Application.ThisWorkbook.Path & _
Sub FileNameMe()
11.4 Использование методов объекта Application
Метод Calculate.
Application.Goto Reference, Scroll
Scroll также не обязателен. Если он равен True
Метод InputBox
Application.InputBox(prompt, title, default, left, top, helpFile,_ helpContextID, type)
True или False
ОК метод InputBox возвращает значение, введенное окно, при нажатии кнопки Отмена
Sub Input_example()
MsgBox "Операция отменена."
If num_of_hours = False Then
Application.OnKey Key, Procedure
Application.OnKey "{RIGHT}", "GetSalesData"
Application.OnRepeat Text, Procedure
Application.OnRepeat "Повторить чтение данных по сбыту", _
Application.OnTime(EarliestTime, Procedure LatestTime, Schedule)
OnUndo позволяет установить текст команды Правка\Отменить (Edit\Undo
Text устанавливает текст команды Правка\Отменить. Аргумент Procedure
Quit объекта Application
Использование событий объекта Application
Public WithEvents оАрр As Application
Dim X As New EventClassModule
Private Sub object_NewWorkbook(ByVal Wb As Workbook)
Private Sub object_WorkbookActivate(ByVal Wb As Workbook)
Private Sub oApp_WorkbookActivate(ByVal Wb As Workbook)
Private Sub object_WorkbookAddinInstall(ByVal Wb As Workbook)
Private Sub object_WorkbookAddinUninstall(ByVal Wb As Workbook)
Событие WorkbookBeforeClose.
Private Sub object_WorkbookBeforeClose(ByVal Wb As Workbook, _
Private Sub oApp_WorkbookBeforeClose(ByVal Wb As Workbook, _
Private Sub object_WorkbookBeforePrint(ByVal Wb As Workbook, _
Событие WorkbookBeforeSave.
Private Sub object_WorkbookBeforeSave(ByVal Wb As Workbook, _
Private Sub object_WorkbookDeactivate(ByVal Wb As Workbook)
Private Sub object_WorkbookNewSheet(ByVal Wb As Workbook, _
Private Sub object_WorkbookNewSheet(ByVal Wb As Workbook, _
Private Sub object_WorkbookOpen(ByVal Wb As Workbook)
11.6 Использование семейства Workbooks и объекта Workbook
11.6.1 Использование свойств и методов семейства Workbooks
Свойство Count.
Dim iNumWB As Integer
Workbooks.Add template
Dim variable_name as Workbook
Dim oNewWorkbook as Workbook
Workbooks.Open(FileName, UpdateLinks, Readonly, Format, _
Format значение 6, то параметр Delimiter
True для необязательного параметра Notify
11.6.2 Использование свойств объекта Workbook
Sub Name_Those_Workbooks ()
11.6.3 Методы объекта Workbook
Workbook_object. Activate
251 Если рабочая книга закрывается с помощью метода Close
Save, присваивает свойству Saved
AccessMode, ConflictResolution, AddToMru, TextCodePage, _
11.6.4 Использование событий объекта Workbook
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, _
Private Sub Workbook_Deactivate()
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Private Sub Workbook_Open()
DisplayGridlines = False
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, _
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, _
Target – ближайшая к указателю мыши ячейка в момент возникновения события SheetBeforeRightClick
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Source As Range)
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal _
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _
11.7 Использование семейства Worksheets
11.7.1 Использование свойства Count семейства Worksheets
11.7.2 Использование метода Add семейства Worksheets
Add семейства Workbooks
WorkSheets.Add Before:= WorksSheets.Item(3)
Worksheets.Add After:=Worksheets (Worksheets.Count)
11.8 Использование объекта Worksheet, его свойств и методов
Sheets. В программе на объект Worksheet
Worksheet_object.Сору Before, After
Move похож на метод Сору
11.9 Использование объекта Range
11.9.1 Использование свойств объекта Range
Range_0bject.Address(RowAbsolute, ColumnAbsolute, _
А1. Если необходимо использовать нотацию R1C1
MsgBox "Активной ячейкой является " & ActiveCell.Address
Range, необходимо использовать свойство Cells
Row является относительным адресом строки, а дополнительный параметр Column
Public Sub SelectAll()
Range("C7").Formula = "=Sum(Cl:C6)"
11.9.2 Использование методов объекта Range
Range_object. Clear
Range в Буфер обмена. Если требуется выполнить копирование и вставку одной командой: Range _ object.Сору destination
Range_object.Cut destination
Range совместно используется с семействами Rows
11.9.3 Примеры использования объектов Range
Sub Formatting()
Dim currCell as Range
11.10 Создание собственных функций рабочего листа
11.10.2 Разработка собственных функций рабочего листа
Public Function SalesTax(SalesAmount)
Методические указания по выполнению курсовой работы по дисциплине «Компьютерная подготовка»
Пояснительная записка
Варианты индивидуального задания
N предметам и сведения о зачетах по M
Счет за аренду автомобиля»
Ведомость начисления заработной платы».
Стоимость бензина для проезда из Москвы»
Начисление месячного износа основных средств».
Контрольная работа № 1
А симметричны относительно главной диагонали, и значение 0 в противном случае. Значение переменной В
R, с центром в точке с координатами (1,1). Координаты заданы массивами X(N)
Контрольная работа №2 Тема: «Макросы VBA»
Список рекомендуемой литературы