SetMenuItem 宏操作

适用于:Access 2013、Office 2013

可以使用 SetMenuItem 操作设置“加载项”选项卡上的自定义菜单或全局菜单上的菜单项的状态(已启用或已禁用、已选择或未选择)。

注意

The SetMenuItem action works only with custom and global menus created by using menu macros. The SetMenuItem action is included in Microsoft Access only for compatibility with previous versions. It does not work with the command bar functionality. 但是,可以在 Visual Basic for Applications (VBA) 模块中使用“已启用”和“状态”属性,以禁用或启用以及选择或取消选择快捷菜单、自定义菜单或全局菜单上的项目。

Setting

SetMenuItem 操作具有下列参数。

操作参数

说明

菜单索引

包含要设置其状态的命令的菜单的索引。 在自定义或全局菜单中,为所需菜单的索引输入 Integer 数据类型的值(从 0 开始)。 请在“宏生成器”窗格“操作参数”部分的“菜单索引”框中输入索引值。 该索引相对于菜单在自定义菜单或全局菜单的菜单宏中的位置(此菜单的 AddMenu 操作在菜单宏中的位置,从 0 开始计数)。 由于您可以在菜单宏中使用条件表达式来隐藏或显示自定义菜单项,因此菜单的显示可能会稍有不同。 这是必需参数。 如果您选择带有此参数的菜单并将“命令索引”和“子命令索引”参数留空,则您可以启用或禁用菜单名称本身。 但您无法选择或取消选择菜单名称(Access 将忽略菜单名称的“标志”参数的“选取”和“不选取”设置)。

命令索引

要设置其状态的命令的索引。 请在通过“菜单索引”参数选择的菜单中输入所需命令索引的整数值(从 0 开始)。 索引相对于命令在为自定义或全局菜单定义选择的菜单的宏组中位置(此命令的宏在宏组中的位置,从 0 开始计数)。 由于您可以在菜单的宏组中使用条件表达式来隐藏或显示自定义菜单命令,因此菜单的显示可能会稍有不同。

子命令索引

要设置其状态的子命令的索引。 仅当所需的命令有子菜单时,此参数才适用。 在通过“命令索引”参数选择的子菜单中,输入所需子命令索引的整数值(从 0 开始)。 索引相对于子命令在为自定义或全局菜单定义选择的子菜单的宏组中的位置(此子命令的宏在宏组中的位置,从 0 开始计数)。

Flag

要将命令或子命令设置成的状态。 请单击“变灰”(禁用命令 - 命令显示为灰色)、“变实”(启用该命令)、“选取”(在命令旁放置一个选中标记 - 通常指示已选中该命令或已切换到该命令)或“不选取”(删除选中标记)。 默认值为“变实”

备注

SetMenuItem 操作仅适用于自定义菜单或全局菜单。 如果活动窗口没有自定义菜单或全局菜单,则运行包含 SetMenuItem 操作的宏会导致运行时错误。

可以使用此操作设置菜单命令和子命令的状态,但不能设置子命令的子命令的状态。

要在 Visual Basic for Applications (VBA) 模块中运行 SetMenuItem 操作,请使用 DoCmd 对象的 SetMenuItem 方法。