View.ExecuteAction メソッド (ActionType)
ビューで現在選択されているデータに基づいて、フォームの基になる XML ドキュメントに対して編集コマンドを実行します。
名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (Microsoft.Office.InfoPath.dll)
構文
'宣言
Public MustOverride Sub ExecuteAction ( _
action As ActionType _
)
'使用
Dim instance As View
Dim action As ActionType
instance.ExecuteAction(action)
public abstract void ExecuteAction(
ActionType action
)
パラメーター
- action
型: Microsoft.Office.InfoPath.ActionType
実行する操作を指定する ActionType 列挙。
例外
例外 | 条件 |
---|---|
InvalidOperationException | ExecuteAction メソッドが、Loading イベントのイベント ハンドラーから呼び出されました。 |
ArgumentNullException | このメソッドに渡されたパラメーターは null 参照 (Visual Basic ではNothing ) です。 |
ArgumentException | このメソッドに渡されたパラメーターは有効ではありません。たとえば、型または形式が正しくありません。 |
解説
ExecuteAction メソッドは、ビュー内で選択されているコンテキストに基づいて、フォームの基になる XML ドキュメントに対してプログラムで組み込みの編集操作をする場合に使用します。
実行される操作は、対応するメニューやツール バー ボタンをクリックしたときに使用される操作と同じです。たとえば, .xsf ファイル内のボタン要素には、対応する xmlToEdit 属性と action 属性があります。ボタンを使用する場合と同様に、操作は選択されているコンテキストに対して実行されます (選択範囲の内容によってボタンが無効にされている場合は、ExecuteAction メソッドは何も実行しません)。
最初に SelectNodes メソッドまたは SelectText メソッドを使用して選択コンテキストを設定しておき、それから ExecuteAction メソッドを呼び出してそのコンテキストに操作を実行することも可能です。
注意
場合によっては、ビュー内のボタンの Clicked イベントのイベント ハンドラーから ExecuteAction メソッドを呼び出すと、エラーが発生することがあります。これは、ボタンがクリックされると、選択コンテキストがボタンに移動することが原因です。このような場合は、カスタム作業ウィンドウ、メニュー、またはツール バーのボタンまたはリンクを使用して ExecuteAction メソッドを呼び出すようにします。
このメンバーには、現在開いているフォームと同じドメインで実行中のフォーム、またはクロスドメインのアクセス許可が与えられたフォームのみがアクセスできます。
この型またはメンバーには、Microsoft InfoPath Filler で開かれたフォームを実行中のコードからのみアクセスできます。
例
次の例では、View クラスの ExecuteAction(action) メソッドを使用して、現在選択されているデータを削除し、それをクリップボードに格納しています。
// Create XPathNavigator and select field.
XPathNavigator textNode =
CreateNavigator().SelectSingleNode(
"/my:myFields/my:field1", NamespaceManager);
// Select text in specified field.
CurrentView.SelectText(textNode);
// Cut selected text.
CurrentView.ExecuteAction(ActionType.Cut);
' Create XPathNavigator and select field.
Dim textNode As XPathNavigator = _
CreateNavigator().SelectSingleNode( _
"/my:myFields/my:field1", NamespaceManager)
' Select text in specified field.
CurrentView.SelectText(textNode)
' Cut selected text.
CurrentView.ExecuteAction(ActionType.Cut)