Чтение онлайн

на главную - закладки

Жанры

Интернет-журнал "Домашняя лаборатория", 2007 №3
Шрифт:

— а если программа большая, то сделать это не так просто. Гораздо лучше поставить контрольное значение — сумму количеств всех учеников во всех классах

— и при пошаговом исполнении программы отследить, где, на каком этапе происходит ее ненужное изменение.

5. Окно проверки или Отладки. Это окно вызывается из меню Вид — Окно отладки. В текст программы можно вставить специальные команды — Debug.Print (a+b, например — если надо отслеживать значение этой суммы). Тогда при выполнении этой команды в Окне отладки будет печататься то, что задано в ее параметрах (рис. 1.18).

Рис. 1.18. Окно

отладки.

Возможности применения этого окна многообразны. Можно выводить в него сообщения (командой Debug.Print) в случае выполнения или невыполнения какого-либо условия. Можно отображать в нем промежуточные результаты вычислений для контроля их правильности — чтобы не смотреть и искать нужное выражение в окнах Локальных переменных или Контрольного значения, а получать их сразу, пе ред глазами. Можно даже использовать это окно как маленький калькулятор или командную строку, и тогда при нажатии Enter после ввода команды она будет тут же выполнена! Надо только перед самой командой писать слово Print, если команда должна выдать какой-нибудь результат в этом же окне.

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

Окна Контрольного значения, Локальных переменных, Отладки и Стека вызова могут быть вызваны как из меню Вид или соответствующими сочетаниями клавиш, так и при нажатии кнопок на панели "Отладка". Достаточно только подвести курсор к каждой кнопке панели, чтобы увидеть, какую команду она вызывает.

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

Для выхода из режима отладки до завершения полного выполнения программы необходимо выбрать функцию Сброс из меню Запуск или нажать на панели "Отладка" кнопку "Сброс".

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

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

Очень полезно при разработке программ на VBA смотреть примеры использования команд, приводимые в справке — в разделах "Example" многих справочных окон (рис. 1.19). Если вам никак не удается создать работающий фрагмент кода программы — посмотрите в справке в разделе примеров, не встретится ли вам там то, что вы так долго пытались создать. Все фрагменты кода в справке можно свободно копировать в свои программы. Во всяком случае, в справке все команды написаны грамотно и правильно.

Рис. 1.19. Фрагмент кода в справке

Descent

из недр Excel'a

Descent — это игра-симулятор космического корабля, перемещающегося в инопланетных шахтах. A Excel — это программа для работы с электронными таблицами. Казалось бы, что между ними может быть общего? А общее есть. Оказывается, в Excel 97 встроена "леталка": игра, смысл которой заключается в полете над местностью и просмотре открывающихся красот. Вот как ее можно запустить.

1. Запустите Excel 97 и проследите, чтобы в пункте Сервис-Параметры-Общие не стояла отметка в пункте "Стиль ссылок R1C1".

2. Создайте чистую таблицу. Нажмите F5 и введите в строке ссылки для перемещения фразу "х97:197" (т. е. переход к ячейкам от Х97 до L97 с их выделением). Нажмите Ввод.

3. Вы перейдете к строке номер 97. Нажмите Tab, а затем, удерживая Shift и Ctrl, щелкните левой кнопкой мыши по иконке "Мастера диаграмм". Подождите немного.

Вот вы и в Excel Descent! Все управление — мышью. Левая кнопка — ускорение вперед, правая — назад, движения мыши задают направление. Выход — Esc. Подлетев к центру местности, можно увидеть камень, а на его поверхности — список имен разработчиков.

К сожалению, в последующие версии Excel'а данная игра уже не включалась. Однако, скажем, в Excel 2000 есть не менее увлекательная игра — автогонки. Как ее вызвать? Читайте дальше, на одной из таких же врезок данная информация будет приведена.

* * *

Секрет Internet Explorer'а

Если вставить в пустой html-документ строку <!-introducing the Trident team — >, а потом открыть этот файл в Microsoft Internet Explorer версии 4 или 5, то на экране появятся весьма интересные визуальные эффекты. К сожалению, в 6-й версии этого браузера данный прием уже не работает.

Глава 2

Основы языка Visual Basic for Applications

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

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

События, методы, свойства

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

Поделиться:
Популярные книги

Кодекс Крови. Книга III

Борзых М.
3. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга III

Его темная целительница

Крааш Кира
2. Любовь среди туманов
Фантастика:
фэнтези
5.75
рейтинг книги
Его темная целительница

Восход. Солнцев. Книга VIII

Скабер Артемий
8. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга VIII

Сумеречный стрелок 6

Карелин Сергей Витальевич
6. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный стрелок 6

Герой

Бубела Олег Николаевич
4. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.26
рейтинг книги
Герой

Студент из прошлого тысячелетия

Еслер Андрей
2. Соприкосновение миров
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Студент из прошлого тысячелетия

Книга пяти колец. Том 4

Зайцев Константин
4. Книга пяти колец
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Книга пяти колец. Том 4

Кодекс Крови. Книга IХ

Борзых М.
9. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга IХ

Генерал-адмирал. Тетралогия

Злотников Роман Валерьевич
Генерал-адмирал
Фантастика:
альтернативная история
8.71
рейтинг книги
Генерал-адмирал. Тетралогия

Гарем вне закона 18+

Тесленок Кирилл Геннадьевич
1. Гарем вне закона
Фантастика:
фэнтези
юмористическая фантастика
6.73
рейтинг книги
Гарем вне закона 18+

Сколько стоит любовь

Завгородняя Анна Александровна
Любовные романы:
любовно-фантастические романы
6.22
рейтинг книги
Сколько стоит любовь

Девяностые приближаются

Иванов Дмитрий
3. Девяностые
Фантастика:
попаданцы
альтернативная история
7.33
рейтинг книги
Девяностые приближаются

Рота Его Величества

Дроздов Анатолий Федорович
Новые герои
Фантастика:
боевая фантастика
8.55
рейтинг книги
Рота Его Величества

Идеальный мир для Лекаря 13

Сапфир Олег
13. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 13