Справочник по VBA для Office
Visual Basic для приложений (VBA) в Office — это событийно-ориентированный язык программирования, позволяющий расширять приложения Office.
Программирование на VBA в Office
Данная справочная статья предназначена для опытных пользователей Office, которые желают познакомиться с VBA и получить некоторое представление о том, как программирование может помочь им настроить Office.
Набор приложений Office содержит полный комплект компонентов. Существует множество разных способов создания, форматирования и управления документами, электронной почтой, базами данных, формами, электронными таблицами и презентациями.
Значительное преимущество программирования на VBA в Office заключается в том, что почти каждое действие, осуществляемое с мышью, клавиатурой или диалоговым окном, можно автоматизировать с помощью VBA. Если действие можно выполнить с помощью VBA, значит в дальнейшем его можно легко осуществлять сотни раз. На самом деле автоматизация повторяющихся задач — одно из наиболее частых применений VBA в Office.
Помимо возможности написания скрипта VBA для ускорения повседневных задач, VBA можно использовать для добавления новых функций в приложения Office или создания запросов и взаимодействия с пользователем ваших документов в соответствии с потребностями вашей организации. Например, можно написать код VBA, выводящий всплывающее сообщение, которое напоминает пользователям о необходимости сохранения документа на определенном сетевом диске при первой попытке его сохранения.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Создание приложений на языке VBA для MS EXCEL
Microsoft Excel – это наиболее важная составная часть пакета Microsoft Office, используемая миллионами людей, среди которых и разработчики, и простые пользователи. Согласно статистике, те пользователи (а их около 90% от общего числа), которые применяют только средства рабочего листа MS Excel и не используют возможности, предоставляемых VBA, реализуют лишь не более 10% от истинных способностей MS Excel. Таким образом, большая часть средств и возможностей MS Excel остается невостребованной в связи с тем, что пользователям не всегда известно о наличии VBA, или же они не умеют им пользоваться. Давайте разберемся, как более эффективно использовать объединенную мощь MS Excel и VBA.
Основные сведения об объектах, методах и свойствах MS EXCEL
В модели объектов Excel имеются более 100 объектов и семейств. Однако достаточно использования только небольшого количества объектов, чтобы выполнить большинство всех возможных действий. Наиболее часто используемыми объектами являются Application, Workbook (Workbooks), Worksheet (Worksheets) и Range.
- Application (приложение) — само приложение MS EXCEL в целом. Включает глобальные устанавливаемые параметры (стиль ссылок, режим проведения вычислений) и встроенные функции MS EXCEL. Объект Application.Excel имеет свойство Workbooks, возвращающее Workbooks — коллекцию всех открытых книг. Каждый элемент коллекции — рабочая книга — является объектом класса Workbook. Свойствами объекта Application являются: ActiveWorkbook (активная рабочая книга) и ActiveWindow (активное окно).
- Activate -активизирует рабочую книгу;
- Close — закрывает рабочую книгу;
- Save — сохраняет рабочую книгу;
- Name — имя рабочего листа;
- Previous — предыдущий рабочий лист;
- Visible — режим видимости рабочего листа (скрыт или показан).
К методам объекта относятся:
- Activate — активизирует рабочий лист;
- Calculate — заново вычисляет значения в ячейках рабочего листа;
- Delete — удаляет рабочий лист;
- Protect — защищает рабочий лист.
Объект Worksheet, который представляет один рабочий лист, имеет свойство Cells, возвращающее объект Range. Он может задавать как все ячейки рабочего листа, так и любую ее часть.
- Cells, Columns, Rows — возвращают коллекции ячеек, столбцов или строк, входящие в объект Range;
- Column, Row — возвращают соответственно номер первого столбца или первой строки в области объекта Range;
- Value — значение указанной ячейки. Если она пуста, то возвращается значение Empty, что можно проверить, вызвав функцию IsEmpty;
- Font — используемый в интервале шрифт;
- Formula — формула интервала;
- Name — имя интервала.
Синтаксис установки значения объекта имеет вид:
В данном случае значение может быть представлено константой или формулой, возвращающей постоянное значение, и принадлежать к одному из трех типов:
- Числовому значению. Например, для установки размера шрифта: ActiveCell.Font.Size = 14
- Строке символов. Например: ActiveCell.Font.Name = «Courier New Cyr»
- Логическому значению: ActiveCell.Font.Italic = True
К основным методам объекта Range относятся:
- Clear — полностью очищает интервал (в том числе и форматирование);
- ClearContents — очищает содержимое ячеек интервала;
- ClearFomats — очищает форматирование ячеек интервала;
- Copy — копирует интервал в буфер обмена;
- Offset — возвращает интервал с указанным смещением относительно первоначального интервала;
- Paste — вставляет содержимое буфера обмена в интервал;
- Select — выделяет интервал.
Синтаксис вызова метода объекта имеет вид: