VBA для «чайников» - [26]

Шрифт
Интервал

4. Перетащив, щелкните правой кнопкой мыши на полученной кнопке или команде, чтобы отобразить контекстное меню.

Подобное контекстное меню было показано раньше на рис. 4.5.

5. Выберите команду Свойства, чтобы отобразить диалоговое окно свойств.

Внешний вид этого диалогового окна уникален для Access.

6. В текстовом поле действия укажите имя VBA-прогряммы (процедуры Function).

Вы должны указать перед именем программы знак равенства, а после него - скобки, как показано ниже.

=Имя_функции ()

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

Вы можете настроить внешний вид кнопки, применив приемы, описанные дальше в разделе Выбор или создание подходящего значка для кнопки.

Другие VBA-прпложения значительно отличаются по способу создания кнопок на панели инструментов. Например, в Visio вам придется написать VBA-код. выполняющий всю необходимые действия; в то же время в CorelDraw вам необходимо выполнить действия, очень похожие нате, которые вы выполняете в Word, PowerPoint и FrontPage.

1. Начните с выбора команды Tools=Options (Сервис=Параметры).

2. Из списка, расположенного в левой части окна, выберите Commands (Команды).

3. Выберите Macros (Макрос) из раскрывающегося списка в средней части диалогового окна.

Теперь вы можете перетащить на панель задач любой из доступных макросов.

Ясно, что супер широкие кнопки с надписями типа

VBAДляЧайников.ГрафическиеПрограммы.СозданиеИзображения

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

1. Откройте диалоговое окно Настройка и перейдите на вкладку Команды (см. инструкции из раздела Создание кнопок на панели задач в Access, пп. 1-3).

2. Щелкните правой кнопкой мыши на своей новой кнопке в панели инструментов.

Появится весьма многословное контекстное меню.

2. Примерно посередине этого меню есть пункт Выбрать значок для кнопки, выберите его, чтобы открылось графическое меню изображений для кнопок.

Результат выполнения этой процедуры показан на рис. 4.7.

4. Если вас устроит какое-то из предлагаемых изображений, сразу переходите к п. 8, а иначе продолжайте по порядку.

5. Выберите в контекстном меню пункт Изменить значок на кнопке.

Появляющееся при этом окно редактора кнопок- небольшой студии, в которой можно по точкам менять изображение для кнопки, показано на рис. 4.8.

6. Выберите цвет из палитры цветов, а затем щелкните в нужной вам ячейке увеличенного изображения, чтобы закрасить ее выбранным цветом.

Чтобы удалить закрашенную часть изображения и открыть в соответствующем месте изображения поверхность кнопки, перед закрашиванием щелкните в квадратике

Удалить. Щелчок на кнопках Перемещение позволяет сдвинуть изображение в сторону, где еще нет закрашенных ячеек.

Теперь на кнопке есть изображение и можно удалить с нее текст.

7. Снова откройте контекстное меню (см. п. 2).

8. Установите флажок Основной стиль.


Рис. 4.7, При открытом окне Настройка щелчок правой кнопкой в панели инструментов открывает показанное здесь контекстное меню


Лис. 4.8. Используйте предлагаемый Office редактор кнопок для создания своих собственных изображений на кнопках

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

В Office можно удалить ненужную кнопку, перетащив ее за пределы панелей инструментов. Хитрость здесь заключается в том, что при перетаскивании нужно нажать и удерживать клавиш Alt. Когда рядом с указателем мыши возникнет значок X, отпустите кнопку мыши, и удаление произойдет.

Чувствую я, что ваше VBA-приложение как раз и не позволяет просто перетаскивать нужное при настройке кнопок. Необходимость использовать VBA при создании кнопок в самом начале знакомства с VBA, наверное, выглядит устрашающе. Но на самом деле такой способ создания кнопок не слишком сложен. Главное - выяснить, какими объектами в вашем VBA приложении представляются кнопки и панели инструментов и какие свойства и методы нужно использовать для изменений.

В Office объекты кнопок называются CormandBarButtons, а принадлежат они коллекции CommandBarControls. Объект CommandBar (панель инструментов, содержащая коллекцию CcmmandBarControls) размещается в коллекции ComrnandBars, которое может принадлежать объекту Application или объекту Document.

А в Visio, например, отдельная кнопка представляется объектом ToolbarItem. Однако, чтобы воспользоваться конкретным экземпляром объекта ToolbarItem, необходимо получить доступ к той коллекции ToolbarItems, которой этот экземпляр объекта принадлежит.

Сама же коллекция ToolbarItems принадлежит коллекции Toolbars, в свою очередь принадлежащей коллекции ToolbarSet, а уж последняя принадлежит конкретному экземпляру объекта UlObject (объект пользовательского интерфейса). Немного позже в этой же главе с помощью несложного программного кода я покажу, как все это реализуется практически.

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


Рекомендуем почитать
Графика DirectX в Delphi

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


Вторая жизнь старых компьютеров

Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.


DirectX 8. Начинаем работу с DirectX Graphics

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


Симуляция частичной специализации

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.