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
実行する操作を指定する ActionType 列挙。
例外処理
例外の種類 | 条件 |
---|---|
ExecuteAction メソッドが、Loading イベントのイベント ハンドラから呼び出されました。 |
|
このメソッドに渡されたパラメータは null です。 |
|
このメソッドに渡されたパラメータは有効ではありません。たとえば、型または形式が正しくありません。 |
コメント
ExecuteAction メソッドは、ビュー内で選択されているコンテキストに基づいて、フォームの基になる XML ドキュメントに対してプログラムで組み込みの編集操作をする場合に使用します。
実行される操作は、対応するメニューやツール バー ボタンをクリックしたときに使用される操作と同じです。たとえば、.xsf ファイル内のボタン要素には、対応する xmlToEdit 属性と action 属性があります。ボタンを使用する場合と同様に、操作は選択されているコンテキストに対して実行されます (選択範囲の内容によってボタンが無効にされている場合は、ExecuteAction メソッドは何も実行しません)。
最初に SelectNodes メソッドまたは SelectText メソッドを使用して選択コンテキストを設定しておき、それから ExecuteAction メソッドを呼び出してそのコンテキストに操作を実行することも可能です。
メモ : |
---|
場合によっては、ビュー内のボタンの Clicked イベントのイベント ハンドラから ExecuteAction メソッドを呼び出すと、エラーが発生することがあります。これは、ボタンがクリックされると、選択コンテキストがボタンに移動することが原因です。このような場合は、カスタム作業ウィンドウ、メニュー、またはツール バーのボタンまたはリンクを使用して ExecuteAction メソッドを呼び出すようにします。 |
このメンバは、現在開いているフォームと同じドメイン内で実行されているフォーム、またはドメインを越えたアクセス許可を付与されているフォームだけがアクセスできます。
この型またはメンバは、Microsoft Office InfoPath 2007 で開いているフォームで実行されているコードからのみアクセスできます。
例
次の例では、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)