Поделиться через


Макрокоманда SetMenuItem

Область применения: Access 2013, Office 2013

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

Примечание.

Действие SetMenuItem работает только с пользовательскими и глобальными меню, созданными с помощью макросов меню. Действие SetMenuItem входит в Microsoft Access только для обеспечения совместимости с предыдущими версиями. Он не работает с функциональными возможностями панели команд. Однако вы можете использовать свойства Enabled и State в модуле Visual Basic для приложений (VBA), чтобы отключить или включить и выбрать или отменить выбор элементов в контекстных меню, пользовательских или глобальных меню.

Setting

Аргументы действия SetMenuItem приведены ниже.

Аргумент макрокоманды

Описание

Индекс меню

Индекс меню, содержащего команду, для которой требуется задать состояние. Введите целочисленное значение, начиная с 0, для индекса нужного меню в пользовательском или глобальном меню. Введите значение индекса в поле Индекс меню в разделе Аргументы действий панели построителя макросов. Индекс относительно позиции меню в макросе меню для пользовательского или глобального меню (позиция действия AddMenu этого меню в макросе меню с подсчетом от 0). Отображение меню может несколько отличаться, так как вы можете использовать условные выражения в макросе меню для скрытия или отображения настраиваемых пунктов меню. Это обязательный аргумент. Если выбрать меню с этим аргументом и оставить пустыми аргументы Command Index и Subcommand Index , можно включить или отключить само имя меню. Однако нельзя выбрать или отменить выбор имени меню (Access игнорирует параметры Check и Uncheck для аргумента Flag для имен меню).

Индекс команд

Индекс команды, для которой требуется задать состояние. Введите целочисленное значение, начиная с 0, для индекса нужной команды в меню, выбранном аргументом Индекс меню . Индекс относительно позиции команды в группе макросов, определяющей выбранное меню для пользовательского или глобального меню (позиция макроса этой команды в группе макросов, отсчитывающая от 0). Отображение меню может несколько отличаться, так как можно использовать условные выражения в группе макросов меню для скрытия или отображения пользовательских команд меню.

Индекс подкоманды

Индекс подкоманды, для которого требуется задать состояние. Это применимо только в том случае, если требуемая команда имеет подменю. Введите целочисленное значение, начиная с 0, для индекса требуемой подкоманды в подменю, выбранном аргументом Command Index . Индекс относительно позиции подкоманды в группе макросов, которая определяет выбранное подменю для настраиваемого или глобального меню (положение макроса этой подкоманды в группе макросов, отсчитываемое от 0).

Флаг

Состояние, в которое нужно задать команду или подкоманду. Щелкните Серый (чтобы отключить команду — она отображается неактивной), Отключить (чтобы включить ее), Проверить (чтобы разместить проверка с помощью команды — обычно это указывает, что она была выбрана или переключилась) или Снять флажок (чтобы удалить проверка). Значение по умолчанию — Ungray.

Замечания

Действие SetMenuItem работает только в пользовательском или глобальном меню. Если в активном окне нет пользовательского или глобального меню, выполнение макроса, содержащего действие SetMenuItem , приводит к ошибке во время выполнения.

Это действие можно использовать для задания состояния команд меню и подкоманд, но не для подкоманд подкоманды.

Чтобы выполнить действие SetMenuItem в модуле Visual Basic для приложений (VBA), используйте метод SetMenuItem объекта DoCmd.