Action オブジェクト

Action オブジェクトを使用して、ボタン、コマンドが有効、チェック済み、可視であるかどうかを確認できます。このオブジェクトを使用して、アクションを実行することもできます。

たとえば、ユーザが不具合のグリッド内で不具合から別の不具合に移動すると、[不具合の詳細]ダイアログ・ボックスが自動的に開くように設定するには、Bug_MoveTo イベント・プロシージャに次のコードを記述します。

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

アクションの名前を取得するには、ActionCanExecute イベント・プロシージャに次の行を追加し、アクションを実行して、メッセージに出力されたアクション名を記録します。

Sub ActionCanExecute(ActionName)
        On Error Resume Next
        MsgBox "実行したアクションの名前:" & ActionName
        On Error GoTo 0
End Sub

このオブジェクトには次のプロパティがあります。

プロパティ

R/W

タイプ

説明

Checked

R/W

Boolean

アクションが ALM でチェックされているかどうかを示します。

Enabled

R/W

Boolean

アクションが有効であるかどうかを示します。無効のアクションはユーザが呼び出すことはできませんが、ワークフロースクリプトからは呼び出すことができます。

Visible

R/W

Boolean

アクションが 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 に設定すると、関数が、元の関数を呼び出せる別の関数を呼び出せるようになります。これにより、循環が生じる可能性があります。また、この現象は、関数が元の関数を呼び出す内部関数を呼び出すときにも発生することがあります。