次の方法で共有


View.ExecuteAction メソッド

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

このメソッドは、CLS に準拠していません。  

名前空間: Microsoft.Office.Interop.InfoPath.SemiTrust
アセンブリ: Microsoft.Office.Interop.InfoPath.SemiTrust (microsoft.office.interop.infopath.semitrust.dll 内)

構文

'宣言
<DispIdAttribute(14)> _
Sub ExecuteAction ( _
    bstrAction As String, _
    varXmlToEdit As Object _
)
'使用
Dim instance As View
Dim bstrAction As String
Dim varXmlToEdit As Object

instance.ExecuteAction(bstrAction, varXmlToEdit)
[DispIdAttribute(14)] 
void ExecuteAction (
    string bstrAction,
    Object varXmlToEdit
)

パラメータ

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

コメント

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

実行される操作は、対応するメニュー項目やツール バー ボタンをクリックしたときに使用される操作と同じです。つまり .xsf ファイルのボタン要素には、それに対応する xmlToEdit 属性と action 属性があります。ボタンを使用する場合と同様、実行される操作は現在の選択範囲に依存し、選択されているコンテキストに対して実行されます (選択範囲の内容によってボタンが使用不可になっている場合、ExecuteAction メソッドでは何も実行されません)。

SelectNodes メソッドまたは SelectText メソッドを使用してコンテキストを選択した後、ExecuteAction メソッドを呼び出して、そのコンテキストに対して操作を実行することができます。

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

  • bstrAction パラメータに有効な編集コンポーネント名が含まれていない。

  • varXmlToEdit パラメータが、そのビューで定義されている編集コンポーネントと一致しない。

  • varXmlToEdit パラメータが、特定の編集操作で必須になっている。

  • 編集操作が、選択されているコンテキストに適用できない。

  • ExecuteAction メソッドで使用できるパラメータの組み合わせを次の表に示します。

組み合わせ

説明

"Copy"

選択されているデータをクリップボードにコピーします。

"Paste"

クリップボードのデータをカーソル位置にコピーします。

"Cut"

選択されているデータを削除し、クリップボードにコピーします。

"Delete"

選択されているデータを削除します。

"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 要素で指定)、その項目が削除されます。

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

メモ重要 :

このメンバは、現在開いているフォームと同じドメイン内で実行されているフォーム、またはドメインを越えたアクセス許可を付与されているフォームだけがアクセスできます。

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

thisXDocument.View.ExecuteAction("Cut", Type.Missing);

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

thisXDocument.View.ExecuteAction("xCollection::insert", "group1_1");

関連項目

参照

View インターフェイス
View のメンバ
Microsoft.Office.Interop.InfoPath.SemiTrust 名前空間