Как создать свою собственную личную вкладку макросов?

Вопрос или проблема

Я видел макро-шаблоны, созданные командой разработчиков, с которой я работаю, и попытался сделать свою собственную вкладку. Основная проблема в том, что новая вкладка не позволяет мне переименовать её, и я не могу увеличить размеры кнопок.

Я искал файл: officecustomuieditorfiles, который упоминался ранее. Когда я его искал, мне направили на этот сайт.

https://bettersolutions.com/vba/ribbon/custom-ui-editor.htm
и эта информация о загрузке после этого утверждает, что Windows 11 больше не поддерживает его.

Поскольку мне не разрешено загружать дополнительное программное обеспечение на работе:

Кто-нибудь знает, как создать новую пользовательскую вкладку макросов, которую я смогу переименовать и сделать кнопки макросов большими?

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

альдо – вот копия моей версии, которую я смог создать:

http://www.vbaexpress.com/kb/getarticle.php?kb_id=427
    Private Const COMMANDBAR_NAME As String = "Menu"
    Private Const BUTTON_CAPTION As String = "Macros" ' Открыть
 Private Sub Workbook_Open()
   'https://learn.microsoft.com/en-us/office/vba/api/office.commandbarcontrols.add
    'https://bettersolutions.com/vba/enumerations/msocontroltype.htm
    'https://github.com/areed1192/sigma_coding_youtube/blob/master/vba/vba-advanced/commandbar-object/CommandbarControls%20Object.bas
    'https://stackoverflow.com/questions/61918089/adding-macro-to-add-ins-tab-custom-toolbars
'франкен старт
    Dim objCommandBar As CommandBar
    Dim objButton As CommandBarButton
    ' Попытка получить Commandbar (если он существует)
    On Error Resume Next
    Set objCommandBar = Me.CommandBars(COMMANDBAR_NAME)
    On Error GoTo 0
    
    
     If (objCommandBar Is Nothing) Then
        ' Создайте командную панель
        On Error Resume Next
        Set objCommandBar = Application.CommandBars.Add(Name:=COMMANDBAR_NAME, Position:=msoBarTop, MenuBar:=False, Temporary:=True)
        On Error GoTo 0
        'msoBarTypeNormal
           'msoBarTypeMenuBar
        'msoBarTypePopup
            'msoBarTop
        'msoBarPopup
        ' Действительная командная панель?
        
        If (Not objCommandBar Is Nothing) Then
            ' Добавьте кнопки на командную панель
            With objCommandBar
       
       
            
                ' Добавить кнопку
                Set objButton = objCommandBar.Controls.Add(Type:=msoControlButton, Temporary:=True)
                 ' Установите свойства кнопки
                With objButton
                    .Style = msoButtonIconAndCaption
                    .Caption = "Clear"
                    .FaceId = 456
                    .TooltipText = "Clear"
                    .OnAction = "'" & ThisWorkbook.Name & "'!Clear"
                    .Height = 100
                     .Width = 100
                End With
          
                Set objButton = objCommandBar.Controls.Add(Type:=msoControlButton, Temporary:=True)
                With objButton
                    .Style = msoButtonIconAndCaption
                    .Caption = "Combine_DF"
                    .FaceId = 1774
                    .TooltipText = "Combine_DF_Reports"
                    .OnAction = "'" & ThisWorkbook.Name & "'!Combine_DF_Reports"
                    .Height = 100
                     .Width = 100

                End With
               Set objButton = objCommandBar.Controls.Add(Type:=msoControlButton, Temporary:=True)
              With objButton
                    .Style = msoButtonIconAndCaption
                    .Caption = "Inbound_Reports"
                    .FaceId = 526
                    .TooltipText = "Combine_Inbound_Reports"
                    .OnAction = "'" & ThisWorkbook.Name & "'!Combine_Inbound_Reports"
                    .Height = 100
                    .Width = 100

                End With
                Set objButton = objCommandBar.Controls.Add(Type:=msoControlButton, Temporary:=True)
                With objButton
                    .Style = msoButtonIconAndCaption
                    .Caption = "Production"
                    .FaceId = 747
                    .TooltipText = "Tester Move_Production"
                    .OnAction = "'" & ThisWorkbook.Name & "'!Move_Production"
                    .Height = 100
                     .Width = 100
                
                    
                End With
        With Application
        .ShowToolTips = True
        .LargeButtons = True
        .ColorButtons = True
        '.Caption = "&Menu" 'название элемента меню
         End With
                
                ' Показать командную панель
                .Position = msoBarTop
                .RowIndex = msoBarRowLast
                .Visible = True
    
                
    MsgBox ("Макросы расположены на вкладке меню надстроек")
                
            End With
        End If
    End If
    
    

    
End Sub
 
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next 'в случае, если элемент меню уже был удален
    Application.CommandBars("Worksheet Menu Bar").Controls("My Macros").Delete 'удалить элемент меню
    On Error Resume Next
    ' Попытка удалить командную панель iTrade
    Call Application.CommandBars(COMMANDBAR_NAME).Delete
    
    ' Восстановить обработку ошибок
    On Error GoTo 0
    On Error Resume Next
    ' Попытка удалить командную панель iTrade
    Call Application.CommandBars(Menu).Delete
    On Error GoTo 0
    ' Восстановить обработку ошибок
    
    On Error Resume Next
    ' Попытка удалить командную панель iTrade
    Call Application.CommandBars(TMenu).Delete
    
    ' Восстановить обработку ошибок
    On Error GoTo 0
    
End Sub

Ответ или решение

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

1. Введение в макросы Excel

Макросы в Excel — это мощный инструмент, позволяющий автоматизировать рутинные задачи. Создание пользовательских вкладок с макросами может значительно упростить доступ к вашим часто используемым функциям.

2. Установка целей

Ваши основные цели:

  • Создать новую вкладку с макросами.
  • Переименовать эту вкладку.
  • Сделать кнопки на вкладке большими.

3. Использование VBA для создания пользовательской вкладки

Для создания вкладки вы можете использовать встроенный редактор Visual Basic for Applications (VBA). Чтобы начать, выполните следующие шаги:

Шаг 1: Открытие редактора VBA

  1. Откройте Excel.
  2. Нажмите Alt + F11, чтобы открыть редактор VBA.

Шаг 2: Вставка модуля

  1. В редакторе VBA щелкните правой кнопкой мыши на вашем проекте и выберите Insert -> Module.
  2. В этом модуле вы будете писать код для создания новой вкладки.

Шаг 3: Написание кода для создания вкладки

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

Private Sub Workbook_Open()
    Dim objRibbon As IRibbonUI
    Set objRibbon = Application.Ribbon
    ' Создание новой вкладки
    objRibbon.Tabs.Add Name:="Мои Макросы", Position:=0
    ' Настройка макрокнопок
    Call CreateMacroButtons(objRibbon)
End Sub

Private Sub CreateMacroButtons(objRibbon As IRibbonUI)
    Dim objButton As RibbonButton
    ' Пример добавления кнопки
    Set objButton = objRibbon.Controls.Add(Type:=msoControlButton)
    With objButton
        .Caption = "Очистить"
        .OnAction = "ВашМакросОчистки"
        .Width = 100 ' Ширина кнопки
        .Height = 50 ' Высота кнопки
    End With
    ' Продолжите добавлять другие кнопки аналогичным образом
End Sub

4. Переименование вкладки

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

5. Увеличение кнопок

Чтобы увеличить кнопки, вы можете задать свойства Width и Height, как показано выше. Убедитесь, что вы указываете размеры, которые соответствуют вашим предпочтениям.

6. Сохранение и тестирование

После завершения редактирования кода:

  1. Закройте редактор VBA.
  2. Сохраните вашу книгу как .xlsm (файл с поддержкой макросов).
  3. Закройте и откройте файл, чтобы протестировать вашу новую вкладку.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...