Функции для работы с панелями инструментов Excel 2003
Public Enum CONTROL_TYPES ct_BUTTON = msoControlButton ct_TEXTBOX = msoControlEdit ct_COMBOBOX = msoControlComboBox ct_DROPDOWN = msoControlDropdown ct_POPUP = msoControlPopup End Enum Function Add_Control(ByRef Comm_Bar, ByVal ControlType As CONTROL_TYPES, ByVal B_Face As Integer, _ ByVal On_Action As String, ByVal B_Caption As String, _ Optional ByVal Button_Style As MsoButtonStyle = msoButtonIcon, _ Optional ByVal Begin_Group As Boolean = False, _ Optional Tag As String = "") As CommandBarControl ' добавляет контролы в меню Comm_Bar On Error Resume Next Set Add_Control = Comm_Bar.Controls.Add(Type:=ControlType, Temporary:=True) With Add_Control If B_Face > 0 Then .FaceId = B_Face: .Tag = Tag: .OnAction = On_Action: .Caption = B_Caption: .BeginGroup = Begin_Group If ControlType = ct_BUTTON Then .Style = Button_Style End With End Function Function GetCommandBar(ByVal CommandBarName As String, Optional ByVal Clean As Boolean = False, _ Optional ByVal Position As MsoBarPosition = msoBarFloating) As CommandBar On Error Resume Next: Err.Clear Set GetCommandBar = Application.CommandBars(CommandBarName) If Err.Number Then Set GetCommandBar = Application.CommandBars.Add(CommandBarName, Position, False, True) End If If Clean Then For Each cbc In GetCommandBar.Controls: cbc.Delete: Next End If GetCommandBar.Visible = True End Function
Комментарии
Юрий, этот макрос предназначен для создания панели инструментов, а не для вывода кнопок на форме.
На форме всё проще: добавляете кнопку, назначаете кнопке картинку (через свойство Picture, - выбираете графический файл), назначаете этой кнопке макрос.
А картинку «бинокль» проще найти в интернете, чем извлекать из встроенных иконок по FaceID
Я имел ввиду на форме расположить например иконку (№564- Бинокль) для вызова последующей формы
я имел в виду использовать иконку на форме. например бИНОКЛЬ(564). По клик на иконку будет открываться форма "Поиск"
Юрий, это был вопрос?
FaceId - это число (или свойство объекта CommandBarControl)
А теперь перечитайте свой вопрос, и попробуйте уловить в нём смысл...
Добрый день. можно использовать на форме FaceId для открытия userform.
Отправить комментарий