×
Traktatov.net » Excel. Трюки и эффекты » Читать онлайн
Страница 86 из 146 Настройки

В данном разделе мы рассмотрим несколько трюков, с помощью которых можно создавать пользовательские панели инструментов.

Чтобы быстро создать пользовательскую панель инструментов с одной кнопкой, можно воспользоваться следующим макросом (листинг 3.41).

Листинг 3.41. Панель с одной кнопкой

Sub CreateCustomControlBar()

' Создание панели инструментов

With Application.CommandBars.Add(Name:="Панель",

Temporary:=True)

' Создание и настройка кнопки

With .Controls.Add(Type:=msoControlButton)

.Style = msoButtonIconAndCaption

.FaceId = 66

.Caption = «Просто кнопка»

End With

' Покажем панель

.Visible = True

End With

End Sub

Результат выполнения данного макроса представлен на рис. 3.11.

Рис. 3.11. Пользовательская панель инструментов


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

Примечание

Кнопка General на панели инструментов присутствует по умолчанию, независимо от выполненного макроса. В данном случае нас интересует лишь кнопка Просто кнопка, созданная с помощью макроса.

Теперь познакомимся с макросом, использование которого позволяет создать пользовательскую панель инструментов с двумя кнопками. Код данного макроса выглядит следующим образом (листинг 3.42).

Листинг 3.42. Панель с двумя кнопками

Sub CreateCustomControlBar()

' Создание панели инструментов

With Application.CommandBars.Add(Name:="Панель",

Temporary:=True, _

Position:=msoBarLeft)

' Создание и настройка первой кнопки

With .Controls.Add(Type:=msoControlButton)

.Style = msoButtonWrapCaption

.Caption = «Просто кнопка»

End With

' Создание и настройка второй кнопки

With .Controls.Add(Type:=msoControlButton)

.Style = msoButtonIconAndWrapCaption

.Caption = «Кнопка»

.FaceId = 225

End With

' Покажем панель

.Visible = True

End With

End Sub

После запуска макроса на вкладке Надстройки появится пользовательская панель (рис. 3.12).

Рис. 3.12. Панель в левой части интерфейса


В данном случае кнопка General также присутствует по умолчанию, наш макрос на ее появление не влияет.

Формирование пользовательского меню

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

Листинг 3.43. Создание пользовательского меню (вариант 1)

Sub AddCustomMenu()

' Добавление меню

W i t h A p p l i c a t i o n . C o m m a n d B a r s ( 1 ) . C o n t r o l s . A d d

(Type:=msoControlPopup, _

Temporary:=True)

.Caption = «Архив»

With .Controls

' Добавление и настройка первого пункта

With .Add(Type:=msoControlButton)

.FaceId = 280

.Caption = «Просмотр»

.OnAction = «Макрос1»

End With

' Добавление вложенного меню

With .Add(Type:=msoControlPopup)

.Caption = «База данных»

With .Controls

' Добавление и настройка первого пункта _

вложенного меню

With .Add(Type:=msoControlButton)

.FaceId = 1643

.Caption = «Поставщики»

.OnAction = «Макрос2»

End With

' Добавление и настройка второго пункта _

вложенного меню

With .Add(Type:=msoControlButton)

.FaceId = 1000

.Caption = «Покупатели»

.OnAction = «Макрос3»

End With

End With

End With

End With

End With