分享此页面

# Action 对象

可以使用 Action 对象验证按钮或命令是否启用、选中或可见。还可以用它执行操作。

例如，要将“缺陷详细信息”对话框设置成用户在“缺陷网格”中从一个缺陷移动到另一个时自动打开，请在 `Bug_MoveTo` 事件过程中放置以下代码：

    Set NewDefectAction=Actions.Action("Defects.DefectDetails")
    NewDefectAction.Execute

要获取操作的名称，将以下行添加到 ActionCanExecute 事件过程，执行操作，并记下消息中打印的操作名称：

    Sub ActionCanExecute(ActionName)
            On Error Resume Next
            MsgBox "You have performed an action named: " & ActionName
            On Error GoTo 0
    End Sub

此对象有以下属性：

属性 | 读/写 | 类型 | 描述
--- | --- | --- | ---
Checked | 读/写 | 布尔值 | 表示操作是否签入 ALM。
Enabled | 读/写 | 布尔值 | 表示是否启用操作。已禁用的操作无法由用户调用，但可以从工作流脚本调用。
Visible | 读/写 | 布尔值 | 表示在 ALM 中操作是否可见。

Action 对象包括以下方法：

方法 | 描述
--- | ---
Execute | 执行操作。

工作流脚本使用 Action 对象的 Execute 方法调用操作时，用户从对话框启动操作会触发的工作流事件在默认情况下不触发。因此，使用 Action.Execute 时，必须确保没有绕过用工作流事件强制实施的站点策略。

要允许工作流事件从对话框内触发，请将 AllowReentrancy 标志的值设置为 true。要恢复默认设置以便不触发这些事件，将 AllowReentrancy 标志的值设置为 false。例如，要将“添加缺陷”对话框设置为用户进入“缺陷”模块时自动打开，在 EnterModule 事件过程中放置以下代码：

    AllowReentrancy=true
    Set NewDefectAction=Actions.Action("Defects.DefectDetails")
    NewDefectAction.Execute
    AllowReentrancy=false

如果 AllowReentrancy 标志的值设置为 false，对话框照常打开，但工作流自定义在对话框中不运行，因为不触发对话框的工作流事件。

警告: 仔细考虑将此标志的设置为 true 的后果。如果将该标志的值设置为 true，将允许函数调用另一个函数，后者又可以调用原函数。这可能导致无限循环。函数调用内部函数，后者又调用原函数时，也可能发生这种情况。

https://admhelp.microfocus.com ALM 8942
改进搜索结果的提示... ALM 帮助中心 ALM 帮助中心 ALM 帮助 17.0 全部查看本地帮助中心查看联机帮助中心后退在浏览器历史记录中后退前进在浏览器历史记录中前进删除突出显示的搜索项下一个主题转到下一个主题上一个主题转到上一个主题打印当前主题版本: