Читаем VBA для чайников полностью

Некоторые VBA-приложения- среди них Microsoft Word, Excel и PowerPoint- имеют средство записи макросов, работа которого напоминает работу обычного магнитофона. После включения средства записи макросов оно будет записывать все команды, которые вы используете в приложении, до тех пор, пока не щелкнете на кнопке Остановить запись. После того как макрос записан, вы сможете воспроизводить его каждый раз, когда вам потребуется записанная в нем последовательность команд.

Кстати, слово макрос означает большой. Подразумевается, что вы объединяете множество небольших команд в одну большую, На самом же деле, ваш макрос может быть таким маленьким и скромным, каким вы пожелаете, - если у вас слишком много времени, можете создать себе целый ряд бесполезных макросов, включающих всего по одной команде.

В VBA-приложениях, не имеющих средства записи макросов, термин макрос может означать любую созданную вами VBA-программу. Например, в Visio версий 4.5 и 5 указание создать макрос открывает окно создания новой программы в редакторе Visual Basic. С другой стороны, как минимум в одном из основных VBA приложений - в Access - макрос вообще напрямую никак не связывается с VBA.

В Access, хотя и можно создавать макросы, содержащие последовательности команд, они не сохраняются в виде VBA-кода автоматически (подробности вы найдете ниже во врезке Макросы - не росы). Средство записи макросов отсутствует во всех версиях Access - там есть специальное окно для выбора команд, которые вы собираетесь поместить в макрос.

Макрос- это просто еще одно название для VBA-программы. Средство записи макросов во время своей работы конвертирует каждую из используемых вами команд в соответствующие строки программного кода VBA. Законченный макрос сохраняется как процедура VBA. Процедуры, как разъясняется Б главе 6, - это отдельные единицы программного кода VBA, которые можно вызвать по имени для выполнения. (Если уж говорить совсем строго, то макрос представляет собой процедуру типа Sub, не имеющую аргументов. Вам нужна именно такая строгость?)

Еще один теоретический момент: макросы есть и в Access, и в VBA, но в Access они не являются VBA программами. Макросы в Access создаются с помощью последовательности команд в специально предлагаемом для этого диалоговом окне, Боюсь еще больше запутать дело, но я должен тут добавить, что макрос в Access может вызывать VBA-процедуру Access. Вот так-то.

<p>Когда следует записывать макрос</p>

Макросы экономят время и снимают раздражение. Это действительно так. Компьютер воспроизведет последовательность команд куда быстрее, чем это сделаете вы, щелкая на соответствующих кнопках команд и выбирая пункты соответствующих меню. При этом компьютер не допустит ни единой ошибки. И ваше настроение, несомненно, улучшится, поскольку люди обычно не любят повторять одно и то же больше двух-трех раз подряд.

Поэтому проверьте, не приходится ли вам снова и снова повторять в приложении одни и те же последовательности команд. Как только вы обнаружите, что такие последовательности у вас есть, сразу же запишите их виде макроса. А еще лучше, если вы знаете наперед, что какую-то новую последовательность команд вам придется использоваться и в дальнейшем, запишите соответствующий ей макрос уже при первом случае ее применения. И уже со следующего раза используйте макрос.

<p>Макрос - и вещь хорошая, и развитие стимулирует</p>

Макросы очень полезны для своего прямого назначения, но не менее полезны они для использования программного кода записанного макроса как примера для начала освоения программирования в VBA. После того как вы запишете несколько макросов, вы наверняка загоритесь желанием как-нибудь их улучшить и сделать более гибкими. В результате совсем небольших усилий с помощью VBA вы можете добавить своим макросам немного интеллекта и заставить их выполнять различные действия в зависимости от ситуации. Это будет обсуждаться ниже, в разделе Редактирование макросов как способ создания программного кода.

<p>Планирование макросов</p>

Прежде чем вы пропустите этот тоскливый раздел и с головой погрузитесь в процесс записи макросов, выслушайте один довольно консервативный совет: чтобы избежать лишней головной боли, уделите немного времени планированию макроса перед тем, как записывать его.

Можно, конечно, запустить средство записи макросов и начать громоздить одну за другой команды сразу, как только в голове появится хотя бы смутное представление о том, что должен делать ваш новый макрос. Вот только средство записи макросов очень добросовестно запишет буквально каждую из вызываемых вами команд, в том числе и все допущенные вами ошибки. А в восьми или девяти случаях из десяти такие ошибки у вас будут.

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

Перейти на страницу:

Все книги серии Для чайников

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных