Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Федеральное агентство по образованию
федеральное государственное образовательное учреждение
Тольяттинский политехнический колледж
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ
К практической работе №14
по дисциплине «Пакеты прикладных программ»
2008
“Утверждаю”
Заместитель директора по
учебной работе ТПК _________________
“__”_______________ 200__ г.
Одобрено ПЦК по
специальности «Информатика и ВТ»
Зав. ПЦК_________
Методические указания составлены в соответствии с рабочей программой по дисциплине «Пакеты прикладных программ» Специальности 230105 «Программное обеспечение вычислительной техники и АС», утвержденной зам. Директора по учебной работе
Составитель: .
Преподаватель специальных и общеобразовательных дисциплин Тольяттинского политехнического колледжа.
Рецензент:
Методические указания к выполнению практической работы
Создание панели инструментов
Краткие теоретические сведения
Панель инструментов является объектом CommandBar, который создается методом Add семейства CommandBars, при этом в качестве значения параметра menuBar этого метода надо указать False.
Dim cb As CommandBar
Set cb = mandBars. Add (Name: =CommandBarName, _
Position := msoBarTop, _
MenuBar: = False, _
Temporary := True)
Элементами панели инструментов могут быть кнопки и раскрывающиеся списки. Рассмотрим технику построения на примере. Панель инструментов будет иметь следующую структуру (Рис. 1):
- выпадающее меню кнопка со значком кнопка с текстом раскрывающийся список.
В данном проекте код набирается в двух модулях: Эта книга и Стандартном.
|
В модуле ЭтаКнига (Листинг 1,а) имеются две процедуры. Первая из них обрабатывает событие Open объекта WorkBook. Эта процедура вызывает процедуру CommandBarBuilder, которая создает панель инструментов. Т. к. панель должна удаляться при закрытии книги, то вторая процедура обрабатывает событие BeforeClose объекта WorkBook. В процессе обработки этого события вызывается процедура CommandBarKiller, которая как раз и удаляет пользовательскую панель инструментов.
В стандартном модуле (Листинг 1,б) объявляется постоянная переменная, задающая имя панели инструментов, и определены процедуры CommandBarBuilder и CommandBarKiller. Всем кнопкам назначены всплывающие подсказки при помощи свойства TooltipText (описание других свойств и параметров см. в приложении)
Панель инструментов. Модуль Эта_Книга
Private Sub Workbook_Open ()
CommandBarBuilder
End Sub
Private Sub Workbook_BeforeClose()
CommandBarKiller
End Sub
Панель инструментов. Стандартный модуль.
Const CommandBarName As String = "Моя панель инструментов"
'Вызов процедуры и объявление переменных
Sub CommandBarBuilder()
Dim cb As CommandBar 'панель инструментов
Dim cbDropDownMenu As CommandBarPopup 'выпадаюшее меню
Dim cb1Button As CommandBarButton 'кнопка 1 (с рисунком)
Dim cb2Button As CommandBarButton 'кнопка2 (с текстом)
Dim cmb As CommandBarComboBox 'раскрывающийся список
'Удаление панели инструментов, если она существует
CommandBarKiller
'Удаление панелей инструментов Стандартная и Форматирование
With Application
.CommandBars("Formatting").Visible = False
.CommandBars("Standard").Visible = False
End With
' Создание панели инструментов
Set cb = mandBars. Add( _
Name:=CommandBarName, _
Position:=msoBarTop, _
MenuBar:=False, _
Temporary:=True)
' Создание выпадающего меню
Set cbDropDownMenu = cb. Controls. Add( _
Type:=msoControlPopup, _
Temporary:=True)
cbDropDownMenu. Caption = "Выпадающее меню"
' Создание пунктов для выпадающего меню
' Создание первого пункта выпадающего меню
With cbDropDownMenu. Controls. Add( _
Type:=msoControlButton, _
Temporary:=True)
.Caption = "Пункт1"
.Tag = "Пункт1"
.OnAction = "Процедура_пункта1"
End With
'Создание второго пункта выпадающего меню
With cbDropDownMenu. Controls. Add( _
Type:=msoControlButton, _
Temporary:=True)
.Caption = "Пункт2"
.Tag = "Пункт2"
.OnAction = "Процедура_пункта2"
End With
' Создание кнопки со смайликом
Set cb1Button = cb. Controls. Add( _
Type:=msoControlButton, _
Temporary:=True)
With cb1Button
.Caption = "Кнопка1"
.FaceId = 59
.Style = msoButtonIcon
.Tag = "Кнопка1"
.OnAction = "Процедура_кнопки1"
.TooltipText = "Кнопка со встроенным рисунком"
End With
' Создание кнопки с текстом
Set cb2Button = cb. Controls. Add( _
Type:=msoControlButton, _
Temporary:=True)
With cb2Button
.Caption = "Кнопка2"
.Tag = "Кнопка2"
.OnAction = "Процедура_кнопки2"
.Style = msoButtonCaption
.TooltipText = "Кнопка с текстом"
End With
' Создание раскрывающегося списка
Set cmb = cb. Controls. Add(Type:=msoControlComboBox)
With cmb
.AddItem "Red", 1
.AddItem "Yellow", 2
.AddItem "Green", 3
.ListIndex = 3
End With
'Отображение панели инструментов пользователя
cb. Visible = True
Set cbButton = Nothing
Set cbDropDownMenu = Nothing
Set cb = Nothing
End Sub
'Процедура удаления панели инструментов
Sub CommandBarKiller()
On Error Resume Next
mandBars(CommandBarName).Delete
On Error GoTo 0
End Sub
Независимо от приложения и того, как оно хранит пользовательские панели, в VBA-программах нельзя выполнять следующие действия:
§ Удалить панель, которая на данный момент не существует
§ Создать новую панель, если ее имя не совпадает с именем уже существующей панели
Конструктивный выход из этих печальных фактов – до выполнения таких действий нужно убедиться в наличии или отсутствии панели. Для этого служит библиотечная функция CommandBarExists
'Функция проверки наличия или отсутствия панели инструментов
Public Function CommandBarExists(CommandBarName As String) As Boolean
Dim cb As CommandBar
CommandBarExists = False
For Each cb In CommandBars
If cb. Name = CommandBarName Then
CommandBarExists = True
Next
End Function
Практическое задание
1.Самостоятельно создать панель инструментов, в которую входят:
1) кнопка Калькулятор, при активизации которой загружается Калькулятор;
2) кнопка Сообщение, при активизации которой появляется сообщение о создателе;
3) раскрывающийся список содержащий названия дней недели( см. пример ниже)
2.Создать меню пользователя, состоящее из:
1) Кнопки Регистрация автомобилей
2) Выпадающего меню Диаграмма
3) Кнопки со значком
![]() |
ПРИЛОЖЕНИЕ
Таблица 1 Некоторые значки и кодовые идентификаторы для кнопок с рисунками
Рисунок | FaceId |
| 21 |
| 25 |
| 29 |
| 31 |
| 33 |
| 48 |
| 49 |
| 52 |
| 67 |



