Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Макросы.doc
Скачиваний:
26
Добавлен:
21.11.2018
Размер:
16.91 Mб
Скачать

Вопросы и ответы

Вопрос. Какие свойства элементов управления возвращают значения, введенные пользователем?

Ответ. Смотрите следующую таблицу.

Элемент управления

Свойство

Надпись

Caption

Поле

Text

Список

Text

Поле со списком

Text

Переключатель

Value

Флажок

Value

Счетчик

Value

Вопрос. Значения элементов списков экранной формы содержатся на листе рабочей книги. Но я не хочу, чтобы другие пользователи изменяли или даже видели эти данные. Что для этого нужно сделать?

Ответ. Есть несколько способов. Первый: с помощью команды Excel Формат > Лист > Скрыть можно скрыть этот рабочий лист. Другой путь программный: в процедуре рабочей книги Auto_Open установите свойство Visible (Видимый) рабочего листа как False.

Практикум

С помощью тестов и упражнений вы проверите, насколько хорошо усвоили изложенный материал. Ответы на вопросы смотрите в Приложении.

Тесты

  1. Как установить блокировку элемента управления?

  2. Как вызвать форму на экран?

  3. В какой процедуре находится код инициализации значений элементов формы?

  4. Как удалить экранную форму из памяти компьютера?

  5. Если необходимо вернуться к какому-либо элементу управления посредством кода, какой метод следует применить?

  6. Где хранятся элементы списков?

  7. Какое свойство списков задает элемент, отображаемый в списке по умолчанию?

  8. В какой процедуре обычно проверяются на корректность данные, вводимые пользователем?

Упражнение

Создайте процедуру под именем ПоказФормы, которая должна выводить на экран форму frmSplash, созданную как упражнение в 14-м часе.

Создайте код, с помощью которого после щелчка на кнопке ОК в форме frmSplash будет открываться форма Гостевые расходы.

Перейдите на Лист1 в рабочей книге Гость и назначьте процедуру ПоказФормы командной кнопке.

16-й час. Панели инструментов

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

В этом часе будут рассмотрены следующие вопросы.

  • Добавление кнопок на панели инструментов "вручную".

  • Создание новых панелей инструментов.

  • Работа с панелями инструментов с помощью процедур.

Настройка панелей инструментов

Меня всегда поражало, как мало пользователей Excel, которые создают собственные панели инструментов или добавляют новые кнопки на существующие панели. Вместе с тем, все пользователи в своей работе применяют инструменты, расположенные на панелях, и находят это очень удобным. С этой точки зрения, есть два известных конкурирующих способа выполнения процедур (не считая способов исполнения процедур в редакторе Visual Basic): назовем их "щелчковый" и "командный". В первом способе процедура назначается какому-либо элементу управления, а затем вызывается на исполнение щелчком на этом элементе. Во втором способе процедура выполняется из диалогового окна Макрос, которое открывается командой Сервис > Макрос > Макросы. Если вам не хочется использовать элементы управления в рабочем листе или вы устали от постоянного выполнения команды Сервис > Макрос > Макросы, то есть еще один способ выполнения процедур (из разряда "щелчковых") - надо назначить процедуру кнопке панели инструментов.

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

  1. Откройте рабочую книгу Гость.

  2. Щелкните правой кнопкой мыши на любой панели инструментов и в контекстном меню панели выберите пункт Настройка. Откроется одноименное диалоговое окно (рис. 16.1).

Рис. 16.1. Это диалоговое окно используется для настройки панелей инструментов и меню

  1. В диалоговом окне Настройка на вкладке Команды в списке Категории выберите пункт Макросы. В списке Команды вы увидите элемент Настраиваемая кнопка.

  2. Перетащите элемент Настраиваемая кнопка на одну из существующих панелей инструментов. При перемещении элемента Настраиваемая кнопка по панелям инструментов вы увидите рядом с ним черный указатель в виде буквы I. Он показывает, где будет располагаться новая кнопка, когда вы отпустите кнопку мыши.

  3. Выбрав подходящее место для новой кнопки, отпустите кнопку мыши. Новая кнопка будет вставлена на панель инструментов (рис. 16.2).

  4. Щелкните правой кнопкой мыши на новой кнопке. В контекстном меню кнопки выберите пункт Имя и введите имя кнопки Гостевые расходы. Это имя будет отображаться в качестве экранной подсказки данной кнопки.

  5. Еще раз щелкните правой кнопкой мыши на новой кнопке и в контекстном меню выберите пункт Выбрать значок для кнопки. Откроется палитра изображений-значков, которые можно поместить на кнопку (рис. 16.3). Выберите изображение по своему вкусу, и стандартное изображение на кнопке заменится на выбранное вами.

Рис. 16.2. Новая кнопка вставлена на стандартную панель инструментов

Рис. 16.3. Широкий выбор значков для новой кнопки

  1. Снова щелкните правой кнопкой мыши на новой кнопке и в открывшемся меню выберите пункт Назначить макрос. В открывшемся одноименном диалоговом окне выберите процедуру ЗагрузкаФормы.

  2. Закройте диалоговое окно Настройка.

  3. Щелкните на новой кнопке. Должна отобразиться форма Гостевые расходы.

  4. Щелкните на кнопке Отмена для закрытия формы.

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

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

  1. Щелкните правой кнопкой мыши на любой панели инструментов и в контекстном меню выберите пункт Настройка.

  2. Когда открыто диалоговое окно Настройка, можно удалить любую кнопку. Для этого просто перетащите кнопку из панели инструментов в это диалоговое окно.

  3. Закройте диалоговое окно Настройка.

Если сделано несколько изменений во встроенных панелях инструментов, то для одновременного удаления всех изменений откройте диалоговое окно Настройка, перейдите на вкладку Панели инструментов, установите флажки возле тех панелей, которые вы хотите вернуть в предыдущее состояние, и щелкните на кнопке Сброс.