次の方法で共有


View.ExecuteAction(String, Object) メソッド

定義

ビューで選択されたデータに基づいて、フォームの基になる XML ドキュメントに対して Microsoft InfoPath 編集コマンドを実行します。

public:
 void ExecuteAction(System::String ^ bstrAction, System::Object ^ varXmlToEdit);
public void ExecuteAction (string bstrAction, object varXmlToEdit);
abstract member ExecuteAction : string * obj -> unit
Public Sub ExecuteAction (bstrAction As String, varXmlToEdit As Object)

パラメーター

bstrAction
String

実行する編集操作の名前。

varXmlToEdit
Object

編集操作を適用するフィールドまたはグループの名前。 これは、フォーム定義 (.xsf) ファイルの xmlToEdit 要素の name 属性の値と同じです。

次の例では、オブジェクトの ExecuteAction メソッドを ViewObject 使用して、選択したデータを削除し、クリップボードに配置します。

thisXDocument.View.<span class="label">ExecuteAction</span>("Cut", Type.Missing);

次の例では、オブジェクトの ExecuteAction メソッドを ViewObject 使用して、選択したコンテキストに基づいて xCollection 編集コンポーネントを使用してデータを挿入します。

thisXDocument.View.<span class="label">ExecuteAction</span>("xCollection::insert", "group1_1");

注釈

ExecuteAction メソッドは、フォームの基になる XML ドキュメントに対し、ビューで選択されているコンテキストに基づいて、InfoPath の組み込み編集操作をプログラムによって実行する場合に使用します。

実行されるアクションは、同等のメニューまたはツール バー ボタンをクリックするときに使用されるのと同じアクションになります。つまり、.xsf ファイル内の button 要素に対応する xmlToEdit 属性と action 属性が含まれるもの。 ボタンを使用する場合と同様に、アクションは現在の選択に基づきます。選択したコンテキストに基づいて動作します (選択によってボタンが無効になる場合は、 ExecuteAction メソッドは効果がありません)。

最初にメソッドまたはSelectText(IXMLDOMNode, Object)メソッドを使用して選択コンテキストをSelectNodes(IXMLDOMNode, Object, Object)設定してから、ExecuteAction メソッドを呼び出してそのコンテキストに対して動作できます。

ExecuteAction メソッドは、次の場合にエラーを返します。

  • パラメーターに bstrAction 有効な編集コンポーネント名が含まれていません。
  • パラメーターが varXmlToEdit 、ビューで定義されている編集コンポーネントと一致しません。
  • パラメーターは varXmlToEdit 、特定の編集アクションに必要です。
  • 編集操作が、選択されているコンテキストに適用できない。
  • ExecuteAction メソッドで使用できるパラメーターの組み合わせを次の表に示します。
"コピー"選択されているデータをクリップボードにコピーします。
"貼り付け"クリップボードのデータをカーソル位置にコピーします。
"Cut"選択されているデータを削除し、クリップボードにコピーします。
"削除"選択されているデータを削除します。
"xCollection::insert", "xmlToEdit"編集コンポーネントの xCollection を使用して、選択されているコンテキストに基づいて、データを挿入します。 現在の選択範囲が xCollection のコンテナー内にある場合は (.xsf ファイル内の xmlToEdit 要素で指定)、fragmentToInsert 要素のデータがそのコンテナー内に追加されます。
"xCollection::insertBefore", "xmlToEdit"編集コンポーネントの xCollection を使用して、選択されているコンテキストの前にデータを挿入します。 現在の選択範囲が xCollection の項目内にある場合は (.xsf ファイル内の xmlToEdit 要素で指定)、fragmentToInsert 要素のデータがその項目の前に挿入されます。
"xCollection::insertAfter", "xmlToEdit"編集コンポーネントの xCollection を使用して、選択されているコンテキストの後にデータを挿入します。 現在の選択範囲が xCollection の項目内にある場合は (.xsf ファイル内の xmlToEdit 要素で指定)、fragmentToInsert 要素のデータがその項目の後に挿入されます。
"xCollection::remove", "xmlToEdit"編集コンポーネントの xCollection を使用して、選択されているコンテキストからデータを削除します。 現在の選択範囲が xCollection の項目内にある場合は (.xsf ファイル内の xmlToEdit 要素で指定)、その項目が削除されます。
"xCollection::removeAll", "xmlToEdit"編集コンポーネントの xCollection を使用して、選択されているコンテキストに含まれるデータをすべて削除します。 現在の選択範囲が xCollection のコンテナー内にある場合は (.xsf ファイル内の xmlToEdit 要素で指定)、そのコンテナー内の項目がすべて削除されます。
"xReplace::replace", "xmlToEdit"編集コンポーネントの xReplace を使用して、選択したコンテキストのデータを置き換えます。 現在の選択範囲が xReplace の項目内にある場合は (.xsf ファイル内の xmlToEdit 要素で指定)、その項目が fragmentToInsert 要素のデータに置き換えられます。
"xOptional::insert", "xmlToEdit"編集コンポーネントの xOptional を使用して、選択されているコンテキストに基づいて、データを挿入します。 現在の選択範囲が xOptional のコンテナー内にある場合は (.xsf ファイル内の xmlToEdit 要素で指定)、fragmentToInsert 要素データがそのコンテナー内に追加されます。
"xOptional::remove", "xmlToEdit"編集コンポーネントの xOptional を使用して、選択されているコンテキストからデータを削除します。 現在の選択範囲が xOptional の項目内にある場合は (.xsf ファイル内の xmlToEdit 要素で指定)、その項目が削除されます。

注: 場合によっては、ビュー内のボタンに対して から OnClickExecuteAction メソッドを呼び出すと、エラーが発生する可能性があります。 これは、ボタンがクリックされると、選択コンテキストがボタンに移動することが原因です。 この場合は、カスタム作業ウィンドウ、ツール バー、またはメニューのボタン (リンク) を使用して ExecuteAction メソッドを呼び出すようにします。

重要: このメンバーにアクセスできるのは、現在開いているフォームと同じドメインで実行されているフォーム、またはクロスドメインアクセス許可が付与されているフォームのみです。

適用対象