Создание пользовательской ленты в Access

Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Лента — полоса в верхней части окна программы, содержащая группы команд, — компонент пользовательского интерфейса Microsoft Office Fluent. Пользовательский интерфейс Office Fluent предоставляет единый дом для команд в Access.

Приступая к созданию более сложных приложений с помощью Access, вы можете решить, что нужно настроить ленту Office Fluent, чтобы сделать приложение более удобным для использования. Например, можно скрыть некоторые или все стандартные вкладки, чтобы пользователи не могли использовать определенные команды, и создать новые настраиваемые вкладки, содержащие только те команды, которые должны быть доступны.

Во всех приложениях Microsoft Office, использующих пользовательский интерфейс Office Fluent, для настройки ленты используется язык XML. Поэтому некоторые базовые знания XML полезны. В этой статье не рассматриваются понятия XML, но в ней представлена базовая процедура настройки ленты и некоторые примеры XML, которые вы можете изменить в соответствии со своими потребностями.

В этой статье основное внимание уделяется созданию пользовательских лент с помощью XML. Если вы хотите использовать встроенные средства для изменения существующих лент, см. статью "Настройка ленты в Office".

В этой статье

Общие сведения о методах настройки ленты

В Access можно настроить ленту, создав XML-файл настройки, а затем добавив код или задав свойства базы данных, которые указывают Access использовать этот XML-файл при создании ленты. С помощью XML можно скрыть существующие вкладки и добавить новые вкладки, группы команд и команды. В этой статье описано, как добавлять команды, встроенные в Access (например, "Поиск", "Сортировка" и "Сохранить"), а также добавлять команды, запускающие макросы Access, созданные вами сами.

Существует несколько мест, где можно хранить XML, но один из самых простых способов — сохранить его в системной таблице в текущей базе данных. Этот процесс включает создание системной таблицы USysRibbons, добавление в нее XML-файла ленты и указание способа отображения: для всей базы данных или для конкретной формы или отчета. Можно определить несколько настраиваемых лент — одну для всего приложения, а также дополнительные ленты для отдельных форм или отчетов в базе данных.

Создание и применение пользовательской ленты

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

Подготовка

Отображение системных таблиц в области навигации По умолчанию системные таблицы не отображаются в области навигации, поэтому необходимо сначала изменить параметр в диалоговом окне "Параметры навигации ", чтобы после ее создания отображалась таблица USysRibbons . Это можно сделать следующим образом:

  1. Когда база данных открыта в Access, щелкните правой кнопкой мыши панель навигации в верхней части области навигации и выберите в контекстном меню пункт "Параметры переходов ".
  2. В диалоговом окне "Параметры переходов" в разделе "Параметры дисплея" установите флажок "Показать проверку системных объектов" и нажмите кнопку "ОК".
    Системные таблицы Access отображаются в области навигации.

Включить отображение сообщений об ошибках пользовательского интерфейса надстроек Сообщения об ошибках являются ценным источником информации при создании и устранении неполадок XML настройки ленты, поэтому рекомендуется сделать так, чтобы они отображались в Access. Это можно сделать следующим образом:

  1. Щелкните "Параметры файла>". 
  2. Щелкните "Параметры клиента". 
  3. В разделе "Общие" установите флажок "Показывать проверку ошибок пользовательского интерфейса надстроек" и нажмите кнопку "ОК".

Создание системной таблицы USysRibbons

Эта процедура используется для создания системной таблицы USysRibbons. Позднее эта таблица будет использоваться для хранения XML-файла настройки ленты.

  1. На вкладке Создание в группе Таблицы нажмите кнопку Конструктор таблиц.

  2. Добавьте в таблицу следующие поля. Убедитесь, что имена полей указаны в точности.

    Имя поля Тип Размер поля
    ID Счетчик Длинное целое
    ИмяЛенты Текст 255
    RibbonXml МЕМО
  3. При необходимости вы можете добавить в эту таблицу дополнительные поля, например поле "Примечания" для описания функции XML ленты.

  4. Выберите поле "Код ". На вкладке Конструктор в группе Элементы нажмите кнопку Ключевое поле.

  5. На панели быстрого доступа нажмите кнопку Сохранить или нажмите клавиши CTRL+S. Назовите новую таблицу USysRibbons.

Добавление XML-файла настройки ленты в таблицу USysRibbons

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

Пользовательская вкладка ленты

Эта конфигурация создается с помощью XML-кода, описанного в следующей процедуре.

  1. В области навигации щелкните правой кнопкой мыши таблицу USysRibbons и выберите в контекстном меню пункт "Режим таблицы ".

  2. Добавьте в таблицу следующие данные. Вы можете скопировать пример XML из этой статьи и вставить его непосредственно в таблицу.

    ИД ИмяЛенты RibbonXML
    (Счетчик) Вкладка "Мои" <customUI xmlns="http://schemas.microsoft.com /office/2006/01/customui"><ribbon startFromScratch="false"><вкладки<>idMso="TabCreate" visible="false" /><tab id="dbCustomTab" label="A Custom Tab" visible="true"><group id="dbCustomGroup" label="A Custom Group"<>control idMso="Paste" label="Built-in Paste" enabled="true"/<>/group<>/tab<>/tabs<>/ribbon></customUI>
  3. Этот XML-код сначала указывает Access не начинать работу с нуля, т. е. указывает, что вкладки ленты по умолчанию должны отображаться в Access. Затем Access сообщает скрыть только одну из вкладок по умолчанию (вкладку "Создание "). Наконец, она создает новую вкладку ленты с именем "Настраиваемая вкладка", добавляет на вкладку группу команд "Настраиваемая группа" и добавляет команду "Вставить" в группу. Дополнительные сведения об этом примере и о том, как настроить его в соответствии с вашими потребностями, см. в разделе "Общие сведения о примере XML".

  4. Закройте таблицу USysRibbons, а затем закройте и снова откройте базу данных.

Применение пользовательской ленты

Теперь, когда пользовательский XML-файл ленты сохранен в таблице, выполните одно из следующих действий в зависимости от того, хотите ли вы применить ленту ко всей базе данных либо к конкретной форме или отчету.

  • Применение настраиваемой ленты ко всей базе данных 

    1. Щелкните "Параметры файла>". 
    2. Выберите пункт "Текущая база данных", а затем в разделе "Параметры ленты и панели инструментов" выберите список "Имя ленты" и щелкните нужную ленту — в данном случае вкладку "Мой".
    3. Нажмите кнопку ОК.
  • Применение настраиваемой ленты к определенной форме или отчету 

    1. В области навигации щелкните правой кнопкой мыши форму или отчет, к которым вы хотите применить настраиваемую ленту, а затем выберите в контекстном меню команду " Конструктор ".
    2. Если окно свойств не отображается, нажмите клавишу F4.
    3. В верхней части страницы свойств в разделе "Тип выбора" убедитесь, что в списке выбран тип объекта (Форма или Отчет).
    4. На вкладке "Другое " страницы свойств щелкните список "Имя ленты ", а затем ленту, которая будет отображаться при открытии формы или отчета (в данном случае вкладку "Мое").
    5. На панели быстрого доступа нажмите кнопку Сохранить или нажмите клавиши CTRL+S.
    6. Закройте форму или отчет, а затем дважды щелкните их в области навигации, чтобы открыть снова.
      Появится выбранная лента.

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

  1. Щелкните правой кнопкой мыши панель навигации в верхней части области навигации и выберите в контекстном меню пункт "Параметры навигации ".
  2. В диалоговом окне "Параметры переходов" в разделе "Параметры дисплея" снимите флажок "Показать проверку системных объектов" и нажмите кнопку "ОК".

К началу страницы

Восстановление ленты по умолчанию

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

Восстановление ленты уровня приложения по умолчанию

  1. Щелкните "Параметры файла>". 
  2. Выберите пункт "Текущая база данных", а затем в разделе "Параметры ленты и панели инструментов" удалите содержимое поля "Имя ленты".
  3. Закройте и снова откройте базу данных.

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

Восстановление стандартной ленты для формы или отчета

  1. Открытие формы или отчета в режиме конструктора.
  2. Если окно свойств не отображается, нажмите клавишу F4.
  3. В верхней части страницы свойств в разделе "Тип выбора" убедитесь, что в списке выбран тип объекта (Форма или Отчет).
  4. На вкладке " Другое " страницы свойств удалите содержимое поля свойства "Имя ленты ".
  5. Сохраните, закройте и снова откройте форму или отчет.

XML-файл ленты остается в таблице USysRibbons до тех пор, пока вы не удалите его. Поэтому, если вы хотите восстановить пользовательскую ленту, вы можете сделать это, вернув значение в свойстве Ribbon Name до значения, которое она содержала ранее.

К началу страницы

Общие сведения о примере XML

Ниже приведен пример XML, использованный ранее в этой статье, и иллюстрация созданной пользовательской ленты.

<customUI xmlns="http://schemas.microsoft.com /office/2006/01/customui"><ribbon startFromScratch="false"><вкладки<>idMso="TabCreate" visible="false" /><tab id="dbCustomTab" label="A Custom Tab" visible="true"><group id="dbCustomGroup" label="A Custom Group"<>control idMso="Paste" label="Built-in Paste" enabled="true"/<>/group<>/tab<>/tabs<>/ribbon></customUI>

Пользовательская вкладка ленты

В этом примере вторая строка XML задает атрибуту startFromScratch значение False. Значение "ложь" гарантирует, что Access оставит все существующие вкладки нетронутыми и добавит все новые вкладки справа от существующих. Если присвоить этому атрибуту значение True , все существующие вкладки будут удалены и отобразятся только вкладки, созданные в XML. Даже если для атрибута startFromScratch задано значение False, вы все равно можете скрыть отдельные вкладки. Это видно на примере четвертой строки XML, скрывающей встроенную вкладку Create . В оставшихся строках создаются настраиваемая вкладка и настраиваемая группа, а затем добавляется встроенная команда Paste в группу с помощью следующей строки XML.

<control idMso="Paste" label="Built-in Paste" enabled="true"/>

Добавление дополнительных групп или элементов управления на настраиваемую ленту Вы можете добавить на ленту дополнительные группы и элементы управления, добавив похожие строки XML и заменив их различными значениями idMso и label . Например, чтобы создать элемент управления, экспортирующий выбранный объект в Excel, используйте следующий XML-файл.

<control idMso="ExportExcel" label="Export to Excel" enabled="true"/>

Чтобы добавить элемент управления в ту же группу, что и команда Paste , вставьте новую строку XML непосредственно перед строкой, создающей команду Paste . Чтобы создать новую группу, можно скопировать, вставить и изменить XML-файл, который создает группу "Настраиваемая группа " выше. В следующем примере показан XML-файл, добавляющий эти два элемента управления в настраиваемую группу.

<customUI xmlns="http://schemas.microsoft.com /office/2006/01/customui">ribbon startFromScratch="false"<>вкладки<>idMso="TabCreate" visible="false" /<>tab id="dbCustomTab" label="A Custom Tab" visible="true"<>group id="dbCustomGroup" label="A Custom Group"<>control idMso="Paste" label="Built-in Paste" enabled="true"/></group<>group id="dbCustomGroup2" label="Another Custom Group"><<элемент управления idMso="ImportExcel" label="Импорт из Excel" enabled="true"/><control idMso="ExportExcel" label="Export to Excel" enabled="true"/<>/group></tab<>/tabs<>/ribbon></customUI>

Этот XML-код добавляет еще одну группу на настраиваемую вкладку. Как показано на следующем рисунке, новая группа содержит два элемента управления: один из них инициирует операцию импорта из Excel, а другой — экспорт в Excel.

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

Примечание

Каждый идентификатор группы и идентификатор вкладки на настраиваемой ленте должны быть уникальными.

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

  1. Щелкните "Параметры файла>". 
  2. Нажмите "Настроить ленту" или "Панель быстрого доступа". 
  3. Наведите указатель на элемент, сведения о котором вам нужны. Значение idMso элемента управления будет отображено во всплывающей подсказке в круглых скобках.

Добавление команды для запуска макроса Access Вы можете сделать пользовательскую ленту еще более гибкой, добавив команды, запускающие макросы Access. Например, предположим, что вы создали макрос с именем MyMacro. Чтобы добавить на ленту команду, запускающую макрос, добавьте в XML-файл следующую строку:

<button id="RunMyMacro" label="Run My Macro" onAction="MyMacro"/>

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

<customUI xmlns="http://schemas.microsoft.com /office/2006/01/customui"><ribbon startFromScratch="false"<>вкладки><idMso="TabCreate" visible="false" /><tab id="dbCustomTab" label="A Custom Tab" visible="true"><group id="dbCustomGroup" label="A Custom Group"<>control idMso="Paste" label="Built-in Paste" enabled="true"/><button id="RunMyMacro" label="Run My Macro" onAction="MyMacro"/<>/group><group id="dbCustomGroup2" label="Another Custom Group"control idMso=><"ImportExcel" label="Import from Excel" enabled="true"/<>control idMso="ExportExcel" label="Export to Excel" enabled="true"/<>/group></tab<>/tabs<>/ribbon></customUI>

К началу страницы