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

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

Жанры

Тайны и секреты компьютера

Орлов Антон

Шрифт:

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

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

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

И

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

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

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

Descent из недр Excel'а

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

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

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

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

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

Descent из недр Excel'а

К сожалению, в последующие версии 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-овских программ. И программирование их называлось структурным — надо было строго и последовательно разрабатывать алгоритм, реализовывать заданный порядок действий программы, в который в процессе работы пользователь в момент, для этого не предназначенный, вмешаться не мог, разве только принудительно остановив программу.

С появлением операционной системы Windows стал широко известен другой принцип программирования и создания алгоритмических языков — принцип объектно-ориентированного языка.

Это значит, что основная направленность разработчика сместилась с действия на объект — на его реакции на действия пользователя, на его свойства и на их изменение. И VBA является типичным представителем объектно-ориентированных языков, как по своему синтаксису, так и по архитектуре программ. Основными понятиями объектно-ориентированного языка являются объект, свойство, метод, событие.

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

Почти каждый объект внутри себя имеет подобъекты, которые, в свою очередь, являются полноценными объектами и могут иметь свои подобъекты. Например, у объекта «Документ» есть подобъект "Десятое предложение", у которого есть подобъект "Второе слово", у которого есть подобъект "Третья буква". С помощью объектно-ориентированного языка VBA можно обратиться к любому объекту, если знать его иерархию — то есть все те объекты, чьим подобъектом он является.

Свойство — это любая характеристика объекта. К примеру, у объекта — первой буквы документа есть свойства: выделение жирным, выделение цветом, подчеркивание, выделение курсивом, регистр и много еще других. У объекта — документа есть свойства: наличие автоматической расстановки переносов, наличие автоматической проверки грамматики и др.

Большинство свойств объектов VBA можно задавать программно, однако есть свойства Read-Only — не допускающие изменений.

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

Метод — это какое-либо действие над объектом. Например, печать текста или поиск текста в документе. У многих методов есть параметры метода, позволяющие задать параметры действия. Вот пример:

With Selection.Find

Text = "Этот текст надо заменить"

Replacement.Text = "Заменить на этот текст"

Forward = True

Wrap = wdFindContinue

Format = False

MatchCase = False

End With

Selection.Find.Execute Replace:=wdReplaceAll

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

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

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

Господин моих ночей (Дилогия)

Ардова Алиса
Маги Лагора
Любовные романы:
любовно-фантастические романы
6.14
рейтинг книги
Господин моих ночей (Дилогия)

Мастер Разума VII

Кронос Александр
7. Мастер Разума
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер Разума VII

Аргумент барона Бронина 2

Ковальчук Олег Валентинович
2. Аргумент барона Бронина
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Аргумент барона Бронина 2

Третье правило дворянина

Герда Александр
3. Истинный дворянин
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Третье правило дворянина

Босс для Несмеяны

Амурская Алёна
11. Семеро боссов корпорации SEVEN
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Босс для Несмеяны

Не грози Дубровскому! Том II

Панарин Антон
2. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том II

Сын Петра. Том 1. Бесенок

Ланцов Михаил Алексеевич
1. Сын Петра
Фантастика:
попаданцы
альтернативная история
6.80
рейтинг книги
Сын Петра. Том 1. Бесенок

Чужбина

Седой Василий
2. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чужбина

И только смерть разлучит нас

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
И только смерть разлучит нас

Пипец Котенку!

Майерс Александр
1. РОС: Пипец Котенку!
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Пипец Котенку!

Курсант: Назад в СССР 11

Дамиров Рафаэль
11. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: Назад в СССР 11

Небо для Беса

Рам Янка
3. Самбисты
Любовные романы:
современные любовные романы
5.25
рейтинг книги
Небо для Беса

Попаданка в Измену или замуж за дракона

Жарова Анита
Любовные романы:
любовно-фантастические романы
6.25
рейтинг книги
Попаданка в Измену или замуж за дракона