Можете да използвате макрокомандата SetMenuItem в настолни бази данни на Access, за да зададете състоянието на елементите на менюто (разрешени или забранени, избрани или неизбрани) в потребителски или глобални менюта в раздела Добавки .
Забележка: Макрокомандата SetMenuItem работи само с потребителски и глобални менюта, създадени с помощта на макроси от менюта. Макрокомандата SetMenuItem е включена в Microsoft Office Access 2007 и по-нови версии само за съвместимост с предишни версии. Той не работи с функционалността на лента с команди. Можете обаче да използвате свойствата Enabled и State във Visual Basic for Applications (VBA), за да забраните или разрешите или отмените избора на елементи в контекстни менюта или потребителски или глобални менюта.
Настройка
Макрокомандата SetMenuItem има следните аргументи:
Аргумент на действие |
Описание |
Индекс на меню |
Индексът на менюто, съдържащо командата, за която искате да зададете състоянието. Въведете целочислена стойност, започвайки от 0, за индекса на желаното меню в потребителското или глобалното меню. Въведете стойността на индекса в полето Индекс на меню в секцията Аргументи на действие на прозореца за проектиране на макроси. Индексът е спрямо позицията на менюто в макроса на менюто за потребителското или глобалното меню (позицията на макрокомандата AddMenu на това меню в макроса на менюто, като се брои от 0). Показването на менюто може да е малко по-различно, защото можете да използвате условни изрази в макроса на менюто, за да скриете или покажете елементи от меню по избор. Това е задължителен аргумент. Ако изберете меню с този аргумент и оставите аргументите Индекс на командата и Индекс на подкоманда празни, можете да разрешите или забраните името на самото меню. Не можете обаче да изберете или отмените избора на име на меню (Access игнорира настройките за отметка и премахване на отметката за аргумента "Маркирай с флаг " за имената на менютата). |
Индекс на команда |
Индексът на командата, за която искате да зададете състоянието. Въведете целочислена стойност, започвайки от 0, за индекса на желаната команда в менюто, избрано от аргумента "Индекс на меню" . Индексът е спрямо позицията на командата в група макроси, която дефинира избраното меню за потребителското или глобалното меню (позицията на макроса на тази команда в групата макроси, като се брои от 0). Показването на менюто може да е малко по-различно, защото можете да използвате условни изрази в групата макроси на менюто, за да скриете или покажете командите от потребителското меню. |
Индекс на подкоманди |
Индексът на подкомандата, за която искате да зададете състоянието. Това се отнася само ако желаната команда има подменю. Въведете целочислена стойност, започвайки от 0, за индекса на желаната подкомандата в подменюто, избрано от аргумента "Индекс на командата" . Индексът е спрямо позицията на подкомандата в групата макроси, която дефинира избраното подменю за потребителското или глобалното меню (позицията на макроса на този подкоманда в групата макроси, като се брои от 0). |
Флаг |
Състоянието, на което искате да зададете командата или подкомандата. Щракнете върху Сиво (за да забраните командата – тя изглежда неактуална), Незамъглено (за да я разрешите), Проверка (за да поставите отметка от командата – обикновено указваща, че е избрана или е била превключена) или Премахване на отметката (за да премахнете отметката). Стойността по подразбиране е "Негра". |
Забележки
Макрокомандата SetMenuItem работи само в потребителско или глобално меню. Ако активният прозорец няма потребителско или глобално меню, изпълнението на макрос, съдържащ макрокомандата SetMenuItem , води до грешка по време на изпълнение.
Можете да използвате това действие, за да зададете състоянието на командите и подкомандата на менюто, но не и подкомандандите на подкомандата.
За да изпълните макрокомандата SetMenuItem в модул на Visual Basic for Applications (VBA), използвайте метода SetMenuItem на обекта DoCmd .