Основы программирования на VBA

Условные обозначения:
| – вводится одно из нескольких возможных значений, [ ] – необязательные параметры,
<эинформация, которая должна быть введена пользователем или программой>.

Содержание
Зачем это нужно? Возможные задачи.
Основные особенности
Настройке параметров безопасности.
Запись макросов (макрорекордер)
Переменные и типы данных
Использование Справки (Help)
Редактор VBA (излагается на уроках)
Построение диалогов и экранных форм
Диалоги
InputBox
InputBox в Excel VBA
MsgBox
Экранные формы (Forms)
Объектная модель Word
Вопросы и задания

Зачем это нужно?

VBA (Visual Basic for Applications) – язык программирования фирмы Microsoft, интегри­рованный в приложения MS Office: Word, Excel, Outlook, Access, PowerPoint, FrontPage, Visio, Project, а также в огромное число прикладных программ других производителей.

Основное назначение языка – предоставить пользователям возможность создать надстройку над приложением, позволяющую эффективно решать собственные задачи. Они могут быть как простейшими, сиюминутными, так и представлять собой проекты колоссальной сложности. Однако литература имеется в изобилии только для двух программ: Access и Excel. Если для первой VBA – язык разработки приложений в среде СУБД, то во втором случае причина, скорее всего, лежит в финансовой обеспеченности задач разработки макросов.

При этом наиболее востребованным инструментом для большинства пользователей остается Microsoft Word, о котором литературные источники по VBA лишь упоминают. В связи с этим, именно данная программа и будет обсуждаться в первую очередь. См. также возможные задачи.

Основные особенности

Использование Справки (Help)

Справка позволяет многократно упростить работу по редактированию и доработке макропрограмм. Наиболее эффективный способ её использования – установить курсор на слове в тексте программы и нажать горячую клавишу F1. К сожалению, качество подсказки и возможность поиска в ней за несколько последних версий MS Office существенно снизились.

Редактор VBA (VBE)

В связи с тем, что возможно создание двух типов результатов: макросов и форм, внешний вид редактора может несколько различаться.

Ссылки

Учтите, что приводимые ссылки не решат всех ваших проблем. Но, может, вы поймете, что офисное программирование не только доступно каждому. Это – серьезный бизнес, где никто не горит желанием поделиться своими знаниями и навыками. Вы же можете на уроках освоить достаточно многое, чтобы дальше не зависеть ни от кого и развиваться в пределах личных потребностей.

  1. Microsoft Office и VBA - Форум программистов.

Вопросы и задания

Большинство заданий дается и разбирается на уроках. Приведенное здесь можно использовать для дополнительной тренировки.

  1. Записать макрос (построить алгоритм) ввода степени для переменной в математическом выражении.
  2. В Excel можно получить номер текущей (активной) колонки.
    Команда X = ActiveCell.Column присвоит числовой номер колонки переменной X.
    Для использования этого значения в указании диапазона, нужно перевести номер в символьное обозначение: Для первой колонки – A, для второй – B, для 26-й – AA и т.д. вплоть до 256.
    Задание: написать программу, производящую такой перевод.
    Примечание. Лучше сделать функцию, принимающую числовой аргумент номера колонки.