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

В любом из таких случаев нет необходимости проходить по шагам оставшуюся часть процедуры. Чтобы пройти остаток с полной скоростью, используйте команду Step Out.

VBA быстро доставит вас в ту процедуру, из которой вы пришли, подсветив оператор, следующий за оператором с вызовом процедуры.

<p>Основные приемы отладки</p>

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

<p>Добавление и редактирование программного кода в режиме паузы</p>

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

Но есть также изменения (например, изменение типа переменной в ее объявлении), которые заставят VBA прекратить выполнение программы.

<p>Назначение другого следующего оператора</p>

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

Редактор Visual Basic почти всегда позволяет с помощью клавиш либо мыши назначить другой оператор для выполнения следующим. При этом вы можете перемещаться в программном коде как вперед, так и назад. В дополнение к возможности пропустить неправильный программный код, вы можете повторять выполнение некоторого фрагмента программного кода до тех пор, пока не поймете, как он работает.

Только знайте, что переменные при этом будут хранить те значения, которые они имели перед началом внесения вами изменений. Эти значения могут сильно отличаться от тех, которые переменные имели бы в соответствующей точке при естественном ходе выполнения программы. Если необходимо, назначьте переменным значения по своему усмотрению с помощью окон Immediate, Watches или Locals, которые будут обсуждаться в этой главе ниже.

Вот как назначить другой следующий оператор.

* С помощью клавиатуры переместите точку ввода в строку с нужным вам оператором, ( нажмите или выберите Debug=Set Next Statement из меню.

* С помощью мыши перетащите желтую стрелку на полях в окне редактирования программного кода к строке с новым следующим оператором (рис. 9.5).

<p>Еще один способ пропустить программный код</p>

Есть еще один способ пропустить часть программного кода, на который падает подозрение в содержании ошибки. Этот метод годится и для режима паузы, и для обычного режима редактирования перед запуском программы на выполнение. Как вы уже знаете, можно напечатать апострофы в начале каждой строки того фрагмента программного кода, который нужно пропустить. Тем самым строки программного кода превратятся в строки комментария. Единственный недостаток этого способа- на такое "комментирование" с последующим "раскомментированием" нужно время. Правда, можно "комментировать" сразу целый блок с помощью одного щелчка на кнопке Comment Block (Превратить блок в комментарий) панели инструментов Edit (Правка) (см. главу 6).

Но часто для пропуска фрагмента программного кода самым удобным оказывается назначение метки и временное использование ссылающегося на нее оператора GoTo. Например, при выполнении следующего фрагмента программного кода VBA пропустит все операторы между GoTo ПослеПропуска и оператором, следующим за меткой ПослеПропуска:. - 16

GoTo ПослеПропуска

A = В + С

D = А + Е / F

G = B + D

ПослеПропуска:

: MsgBox '" Format(Now, "dddd"

Когда пропущенный фрагмент понадобится снова, просто удалите строку с оператором GoTo или превратите ее в комментарий. :

Рис. 9.5. Назначение другого оператора, предназначенного для выполнения следующим, дает возможность повторять выполнение фрагментов программы, чтобы разобраться в них подсказки

Замечательная возможность автоматической подсказки значений в VBA позволяет видеть текущее значение любой переменной в программе. Находясь в режиме паузы, задержите на секунду указатель мыши на имени нужной вам переменной, и на экране появится окно подсказки - небольшой прямоугольник с именем и текущим значением переменной в нем (рис. 9.6).

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

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

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

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

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

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

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

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

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

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