- •Министерство образования российской федерации
- •М инистерство образования российской федерации
- •Аннотация
- •Содержание
- •Тема 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.8. Модификация панелей инструментов в период выполнения
Созданные (на этапе разработки) панели инструментов можно запрограммировать так, чтобы они реагировали на изменение ситуации в период выполнения. Если элемент в определенном контексте не допустим, его можно удалить, скрыть или отключить. Если элемент является переключателем с двумя возможными значениями, то, когда соответствующий параметр активен, задается вывод «утопленного» значка, а когда этот параметр отключен, - «плоского». Модификация системы меню в период выполнения осуществляется только посредством Visual Basic.
4.8.1. Отображение панелей инструментов и отдельных элементов
Панель инструментов занимает на экране определенное место, и поэтому ее следует отображать лишь на тот период, когда она действительно необходима. Панель инструментов видима, если ее свойство Visible равно True, и скрыта, если это свойство – False.
Поскольку Word сохраняет изменения, внесенные пользовательский интерфейс, в документах или шаблонах, то пользовательские панели инструментов и элементы видимы, когда в текущем контексте доступен соответствующий документ или шаблон, и скрыты, когда этот документ или шаблон недоступен. Но Microsoft Excel запоминает изменения в пользовательском интерфейсе в файле параметров рабочего пространства, и поэтому для динамической модификации интерфейса необходимо изменять значение свойства Visible в процедурах обработки подходящих событий.
4.8.2. Восстановление встроенных панелей инструментов
Вернуть встроенную панель в исходное состояние позволяет метод Reset:
For Each cb In CommandBars
If cb.BuiltIn Then
cb.Reset
Else
cb.Delete
End If
Next
Метод Reset не только восстанавливает удаленные встроенные элементы панелей, но и удаляет все добавленные пользовательские элементы. Чтобы избежать проблем, лучше поочередно удалять элементы, добавленные программой, и не восстанавливать сразу всю панель инструментов.
4.8.3. Включение и отключение элементов на панелях инструментов
Если необходимо контролировать доступность элемента на панели инструментов в период выполнения программы, следует использовать свойство Enabled. Если оно равно True, элемент включен, а False – выключен. Пример:
CommandBars(“Standard”).Controls(3).Enabled = False
4.8.4. Индикация состояния кнопок на панели инструментов
Если кнопка на панели инструментов представляет параметр с двумя возможными значениями (включен/выключен), то можно изменять ее внешний вид, показывая текущее значение параметра. Внешний вид кнопки определяется свойством State: значение msoButtonDown задает появление кнопки как нажатой, а значение msoButtonUp – как отжатой:
Sub DatabaseView()
With CommandBars(“MyAppToolbar”).Controls(3)
If .State = msoButtonDown Then
.State = msoButtonUp
‘переключаемся в режим базы данных
Else
.State = msoButtonDown
‘переключаемся в режим рабочего листа
End If
End With
End Sub
4.8.5. Модификация пользовательских текстовых полей, списков и полей со списками
Добавив на панель инструментов пользовательские текстовые поля, списки или поля со списками, можно модифицировать их в период выполнения, например, изменять текущие значения в полях или содержимое списков. Чтобы эти элементы управления отображали состояние программы на Visual Basic, используется свойство Text. Для добавления и удаления (по индексам) из списков предназначены методы AddItem и RemoveItem. Добавление и удаление элементов в списках приводит к изменению индексов остальных элементов.