- •Министерство образования российской федерации
- •М инистерство образования российской федерации
- •Аннотация
- •Содержание
- •Тема 1. Основы программирования
- •Создание, редактирование и запуск программ
- •Переменные, константы и типы данных
- •Управляющие конструкции
- •Управляющая конструкция If…Then позволяет выполнять один или несколько операторов, если условие истинно. Можно использовать однострочный и блочный синтаксис. Например:
- •Тема 2. Введение в модели объектов
- •2.1. Обзор моделей объектов
- •2.2. Автоматизация операций с использованием объектов
- •2.3. Программирование объектов другого приложения
- •Тема 3. Объекты Microsoft Office
- •3.1. Объекты Microsoft Access
- •3.2. Объекты Microsoft Excel
- •3.3. Объекты Microsoft Power Point
- •3.4. Объекты Microsoft Word
- •Тема 4. Меню и панели инструментов
- •4.1. Средства настройки пользовательского интерфейса
- •4.2. Выбор подходящих элементов пользовательского интерфейса
- •4.3. Система меню
- •4.4. Модификация системы меню на этапе разработки
- •4.5. Модификация системы меню в период выполнения
- •4.6. Панели инструментов
- •4.7. Модификация панелей инструментов на этапе разработки
- •4.8. Модификация панелей инструментов в период выполнения
- •Тема 5. Элементы управления на базе ActiveX и диалоговые окна
- •5.1. Разработка нестандартных диалоговых окон
- •5.2. Использование нестандартных диалоговых окон
- •5.3. Работа с элементами управления в документе, листе или на слайде
- •Тема 6. Оптимизация кода
- •6.1. Основные принципы оптимизации кода
- •6.2. Оптимизация кода для Microsoft Excel
- •6.3. Оптимизация кода для Microsoft Word
- •Тема 7. Отладка и обработка ошибок
- •7.1. Создание обработчика ошибок
- •7.2. Иерархия обработчиков ошибок
- •7.3. Тестирование обработчика за счет эмуляции ошибок
- •7.4. Строчная обработка ошибок
- •7.5. Отключение обработки ошибок
- •7.6. Общие принципы отладки
- •7.7. Режимы конструктора, выполнения и прерывания
- •7.8. Окна отладки
- •7.9. Просмотр стека вызовов
- •Тема 8. Разработка приложений для Интернета и Word Wide Web
- •8.1. Термины и концепции, связанные с Интернетом
- •8.2. Работа с гиперссылками
- •8.3. Сохранение документов и объектов в формате html
- •8.4. Элемент средства просмотра Web Microsoft
- •8.5. Элемент управления Internet Transfer
- •Указывать допустимый сервер-заместитель в свойстве AccessType элемента управления Internet Transfer (таблица 8.4);
- •Элемент управления Internet Transfer автоматически настраивается на нужный протокол, заданный в первой части url. Поэтому применение метода OpenUrl или Execute не требует установки свойства Protocol.
- •8.6. Элемент управления WinSock
- •8.7. Создание персонального Web-сервера
- •Тестовые задания для закрепления материала учебного пособия
- •Рекомендуемая литература
- •Б) дополнительная литература
4.5. Модификация системы меню в период выполнения
Созданную (на этапе разработки) систему меню можно запрограммировать так, чтобы она реагировала на изменение ситуации в период выполнения. При этом можно замещать стандартную строку меню пользовательской. Если команда меню в определенном контексте не допустима, ее можно удалить, скрыть или отключить. Если элемент меню является своего рода переключателем с двумя возможными состояниями, то, когда соответствующий параметр активен, задается вывод «утопленного» значка, а когда этот параметр отключен, - «плоского». Элементы меню можно переименовывать при изменении контекста. Модификация системы меню в период выполнения осуществляется только посредством Visual Basic.
4.5.1. Отображение пользовательской строки меню
Чтобы вывести на экран пользовательскую строку меню вместо активной, следует присвоить значение True свойству Visible объекта CommandBar, представляющего пользовательскую строку меню. Строка меню, ставшая видимой, автоматически заменяет активную строку меню. По окончании работы своей программы необходимо установить свойство Visible как False, и тогда на экране вновь появится стандартная строка меню.
Всякий раз, когда пользователь запускает приложение Office, отображается стандартная строка меню. В Word стандартную строку меню можно подменять пользовательской еще при запуске – в шаблоне Normal (Обычный) он запоминает, какая строка была видима в последний раз, и в дальнейшем отображает именно ее. Но можно поступить и иначе: присваивать значение True свойству Visible нужной строки меню в процедуре обработки события Open.
4.5.2. Динамическое отображение компонентов меню
Если определенный компонент меню применим лишь к определенному документу, лучше сделать так, чтобы этот компонент появлялся, только когда активен соответствующий документ; тем самым упрощается восприятие пользователем интерфейса программы. Срок «жизни» того или иного компонента в меню можно ограничить периодом, в течении которого открыт или активен конкретный документ.
При активизации необходимого документа присваивается свойству Visible компонента меню значение True, а когда становится активным другой документ, - значение False. Аналогичным образом следует поступать и в том случае, и в том случае, если с определенным документом следует сопоставить строку меню. Таким образом, зачастую можно обойтись без добавления и удаления строк меню – достаточно простого «переключения» между ними.
Для динамического отображения компонентов меню пишется процедура обработки соответствующих событий – одни процедуры включают или делают видимыми необходимые компоненты, другие отключают или скрывают их. Если приложение не поддерживает событий, динамическая настройка пользовательского интерфейса невозможна. Единственное, что удастся сделать в таком приложении, - связать аналогичные процедуры со свойством OnAction других элементов меню или кнопок панелей инструментов. Если приложение поддерживает элементы управления на базе ActiveX, то интерфейс приложения-контейнера можно модифицировать в соответствии с событиями, поддерживаемыми конкретным элементом управления.
4.5.3. Включение и отключение компонентов меню
Если необходимо, чтобы в определенных ситуациях пользователь не мог выбирать некоторые элементы меню, следует отключать их. Для включения или отключения элемента меню предназначено свойство Enabled. Если оно равно True, элемент включен, а False – выключен. Пример:
CommandBars(“Worksheet Menu Bar”).Controls(“File”) _
.Controls.Add(“Open Database”).Enabled = False
Если необходимо отключить все команды в меню, лучше отключить само меню, и его команды станут недоступными.