Выбрать главу

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

Комбинации клавиш в Word, Excel и Access

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

В любом случае некоторые VBA-приложения - в том числе Word, Excel и Access - дают прямой доступ к клавиатуре, позволяя назначить комбинации клавиш VBA-программам. Если вам предлагают такой способ управления, используйте его, не сомневаясь.

Назначение комбинаций клавиш программам в Word

Если уж зашла речь о настройке клавиатуры, то изо всех VBA-приложений самым гибким и простым в этом отношении является Word. Например, чтобы назначить в Word программе с именем Double Current Font Size комбинацию клавиш Alt+Shift+. (т.е. Alt + Shift + клавиша с точкой), действуйте следующим образом.

1. Откройте диалоговое окно Настройка, для чего либо выберите

Сервис= Настройка из меню, либо щелчком правой кнопкой мыши в любой из панелей инструментов откройте контекстное меню и затем выберите пункт Настройка в нем.

2. Щелкните на кнопке Клавиатура в нижней части вкладки Параметры.

Появится диалоговое окно Настройка клавиатуры (рис. 4.9).

3. В списке Категории выберите Макросы.

4. Найдите и выберите свою программу в появившемся справа списке Макросы.

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

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

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

Рис. 4.9. С помощью такого диалогового окна вы можете назначить своим VBA-программам комбинации клавиш в Word

6. Щелкните сначала на кнопке Назначить, а затем на кнопке Закрыть, чтобы выйти из диалогового окна.

С этого момента назначенная вами комбинация клавиш будет готова к действию.

Разместите свои программы в контекстных меню

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

В Office контекстные меню настраиваются в диалоговом окне Настройка. Сначала нужно сделать видимой панель инструментов Контекстные меню. Откройте диалоговое окно Настройка, выбрав

Сервис=Настройка, и в нем перейдите на вкладку Панели инструментов (если она еще не открыта), щелкнув на соответствующем ярлыке в верхней части диалогового окна. Пролистайте вниз список панелей инструментов, найдите в нем пункт Контекстные меню и щелкните в маленьком квадратике около него.

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

Например, Visio позволяет поместить макрос в контекстное меню любой из форм. Выделив форму, выберите Window=Show ShapeSheet. В окне ShapeSheet щелкните в ячейке Action. (Если нужно, вставьте перед этим раздел Actions, выбрав Insert=Section и отметив Actions.)

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

Excel тоже позволяет назначить VBA-программам комбинации клавиш, но ограничивает допустимые комбинации сочетаниями клавиши Ctrl с печатаемыми символами (буквами, числами и знаками пунктуации). Чтобы назначить программе комбинацию клавиш, выполните следующее.

1. Откройте диалоговое окно Макросы (почему бы для этого не воспользоваться комбинацией клавиш Alt+F8?)

2. Найдите и выделите свою программу в списке.

3. Щелкните на кнопке Параметры.

4. В появившемся диалоговом окне (рис. 4.10) нажмите клавишу, которую хотите скомбинировать с клавишей Ctrl.

Excel при пом различает буквы верхнего и нижнего регистров. (Другими словами, клавиша с буквой, нажатая вместе с клавишей ?Shiff. отличается от клавиши с буквой, нажатой без клавиши Shift.)

5. Щелкните на кнопке ОК, чтобы вернуться в диалоговое окно Макросы*

Рис 4.10. Назначение VBA программе комбинации клавиш в Excel

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