Книга: VBA для чайников
Простейшие усовершенствования макросов
Простейшие усовершенствования макросов
В этой главе не предполагается подробно рассматривать приемы редактирования макросов в редакторе Visual Basic. В конце концов, это те же самые приемы, которые используются при создании любых VBA-программ и которые, в основном, обсуждаются в этой книге.
Все же я считаю целесообразным предложить здесь несколько простых и обычно полезных способов усовершенствования макросов. Предлагаемые идеи требуют минимальных программистских усилий, но позволяют сделать макрос более гибким. Попробуйте следующее.
Рис.2.6. Запись макроса завершена, и перед вами - его программный код, созданный генератором средства записи макросов
Организуйте повторение команд в макросе. Возможно, вам известно наперед, что придется выполнить целую последовательность команд (или какую-то одну команду) ровно 11 раз. В этом случае все, что вам нужно, - это добавить в свой программный код цикл For. . .Next. Вы спрашиваете, что такое цикл For . . . Next? Это один из элементов языка программирования VBA, обсуждать которые я собираюсь в главе 8.
Организуйте повторение команд в макросе с выяснением количества необходимых повторений непосредственно во время работы макроса. Если вы достаточно амбициозны, добавьте в свой макрос сразу и цикл For. . .Next, и функцию InputBox. Последняя выводит на экран диалоговое окно, предлагающее ответить на некоторый вопрос, в данном случае - о количестве повторений. Использование InputBox обсуждается в главе 11.
Добавьте при вызове возможность выбора текста для использования макросом.
Макрос, который всегда вставляет в документ один и тот же текст, не слишком гибок.
Добавив в записанный макрос функцию InputBox, вы сможете сообщать при каждом запуске макроса, какой текст нужно вставить. Снова напомню, что подробности об использовании InputBox вы найдете в главе 11.
Добавьте возможность выбора перед запуском макроса. Довольно часто для правильной работы макроса требуется выбрать текстовый, графический или какой-то другой объект. Структура If. . . End If языка VBA позволяет проверить, выбран ли объект подходящего типа, чтобы иметь возможность отменить работу макроса в случае невыполнения каких-либо условий. Все тонкости использования оператора If... End If обсуждаются в главе 8.
Как только вы осознаете привлекательность использования средства записи макросов в совокупности с самыми минимальными усилиями по добавлению VBA-кода, вас непременно привлечет и программирование. После этого ваше превращение в компетентного VBA-программиста станет только вопросом времени и не потребует слишком большим усилий.
- Простейшие трансформации
- Простейшие события
- Выполнение макросов
- 15.4.1.1. Использование отладочных макросов
- ГЛАВА 19 Усовершенствования и интерфейсы SAP
- 15.4.1.2. По возможности избегайте макросов с выражениями
- Глава 3 Создание трюков с помощью макросов
- 8.3.4. Проблемы макросов
- Пример: упрощение с помощью макросов
- 2.13. Простейшие схемы коррекции АЧХ и ПХ
- 20.9.10 Другие усовершенствования в версии 2
- 15.4. Минимаксные игровые программы: усовершенствования и ограничения