Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Окно проекта, окно свойств, окно кода, окно немедленно выполняемых команд, окно контрольных значений

Среда программирования. Типы данных. Процедуры.

Тема 5. Объектно-ориентированное программирование в VBA

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

Воспользовавшись меню "View", Вы можете расположить на экране окна, которые помогут Вам написать и отладить проект на VBA. Это окно проекта (Project Explorer), окно свойств (Properties Window), окно текущих значений (Watch Window), окно немедленного выполнения команд (Immediate Window), окно локальных переменных (Locals Window).

В окне проекта видны доступные объекты верхнего уровня: документ, формы, модули, модули классов, шаблоны. Двойной щелчок переведет Вас в код выбранного объекта.

В проект можно добавлять (в главном меню пункт Insert) модули, формы, описания классов (модули классов). В разных модулях могут быть даже одноименные доступные извне процедуры, т.к. полное имя процедуры включает имя модуля. Например, пусть в M_math описана процедура trycalc. Тогда ее полное имя: «M_math.trycalc».

Из любого объекта проекта можно перейти в кодовое окно (окно программ), если в контекстном меню "View code".

В окне локальных переменных видны в ходе пошагового выполнения программы все переменные, описанные на уровне текущего модуля (наверху, в General области) и внутри текущей программы (то есть локальные переменные). Здесь достаточно удобно следить за изменением значений переменных, их типами. Если текущая выполняемая процедура была вызвана из какой-то другой процедуры, а та, в свою очередь, была тоже вызвана из третьей процедуры, то чтобы увидеть текущее состояние локальных переменных любой из этих процедур, воспользуйтесь пунктом главного меню «View – Call Stack». При выборе этого пункта вы увидите стек вызовов и щелчком по имени процедуры сможете перейти к нужной. Важно, что значение переменной вы можете тут же в окне изменить, щелкнув по нему.

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

Более удобное окно – окно текущих значений (Watch). В это окно необходимо добавить все, за чем вы собираетесь следить. Для этого выберите в контекстном меню пункт «Add Watch». И это могут быть и локальные переменные и выражения и переменные из других процедур и функций, из других модулей. Таким образом вы устраиваете для себя рабочую среду. Самое интересное – возможность отладочного останова выполнения программы в случае, если значение какого-то выражения изменится или в случае, если оно станет истинным.

Также необходимо уметь пользоваться окном немедленного выполнения команд. Это очень удобное средство изучения встроенных функций, средство для поэтапного составления сложного выражения. В этом окне на стадии отладки доступны все локальные переменные и все объекты. Это – консоль VBA. Здесь можно выполнять любые операции и операторы. В этом окне можно заводить переменные, присваивать им значения. К сожалению, увидеть значения этих переменных в окне Watch невозможно. Но можно их вывести тут же, в консоль при помощи оператора «print» или его сокращенного варианта «?». Интересно, что оператор выполняется тогда, когда вы, находясь на его строчке (в совершенно произвольном месте!) нажимаете на клавишу «Enter».

В этом окне работает браузер объектов, подсказывая вам и имена свойств и методов объектов и имена доступных переменных. Вызов этого помощника Ctrl+J. Экономьте свои усилия, пользуйтесь подсказками. Причем, не обязательно полностью вводить имя свойства или метода. Если в контекстном списке уже выделено нужное, нажимайте на клавишу – следующую операцию, а полный текст сформирует помощник. Пусть вам надо набрать следующий фрагмент: ActiveDocument.Paragraphs.Add. Нажмите Ctrl+J, наберите символ «a». Если уже выделилось слово «ActiveDocument», нажимайте на точку «.». Далее набирайте последовательно «para», либо стрелочкой подойдите к нужному слову, когда оно совсем рядом, снова нажмите на точку, затем наберите символ «а» и далее пробел. Убедитесь, что такой способ набора, хотя и требует определенного навыка, очень скоро дает значительный выигрыш во времени и почти не отвлекает внимание от собственно программирования.

Достаточно удобное средство отладки – объект Debug. С его помощью можно организовать «трассировку» работы программы: выдавать некоторые информационные сообщения в окно Immediate.

Debug.Print "прошли по всему массиву"

Можно перейти в режим отладки при выполнении некоторого условия, воспользовавшись, например, следующей конструкцией:

If x>100 then Debug.Assert false

<== предыдущая лекция | следующая лекция ==>
Именованные каналы | Процедуры, функции, передача параметров, область видимости
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 305; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.