View.ExecuteAction 方法

基于在该视图中选择的数据,针对表单的基础 XML 文档执行 Microsoft InfoPath 编辑命令。

命名空间:  Microsoft.Office.Interop.InfoPath.SemiTrust
程序集:  Microsoft.Office.Interop.InfoPath.SemiTrust(位于 Microsoft.Office.Interop.InfoPath.SemiTrust.dll 中)

语法

声明
Sub ExecuteAction ( _
    bstrAction As String, _
    varXmlToEdit As Object _
)
用法
Dim instance As View
Dim bstrAction As String
Dim varXmlToEdit As Object

instance.ExecuteAction(bstrAction, varXmlToEdit)
void ExecuteAction(
    string bstrAction,
    Object varXmlToEdit
)

参数

  • bstrAction
    类型:System.String

    要执行的编辑操作的名称。

  • varXmlToEdit
    类型:System.Object

    要对其应用编辑操作的域或组的名称。这等同于表单定义 (.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 中 xCollection 的 xmlToEdit 元素指定)内,则将 fragmentToInsert 元素数据追加到该容器中。

"xCollection::insertBefore", "xmlToEdit"

使用 xCollection 编辑组件,将数据插入所选上下文之前。如果当前所选项位于 xCollection 的某项(由 .xsf 中 xCollection 的 xmlToEdit 元素指定)内,则将 fragmentToInsert 元素数据插入到该项之前。

"xCollection::insertAfter", "xmlToEdit"

使用 xCollection 编辑组件,将数据插入到所选上下文之后。如果当前所选项位于 xCollection 的某项(由 .xsf 中 xCollection 的 xmlToEdit 元素指定)内,则将 fragmentToInsert 元素数据插入到该项之后。

"xCollection::remove", "xmlToEdit"

使用 xCollection 编辑组件,从所选上下文中删除数据。如果当前所选项位于 xCollection 的某项(由 .xsf 中 xCollection 的 xmlToEdit 元素指定)内,则删除该项。

"xCollection::removeAll", "xmlToEdit"

使用 xCollection 编辑组件,删除所选上下文中包含的所有数据。如果当前所选项位于 xCollection 的某个容器(由 .xsf 中 xCollection 的 xmlToEdit 元素指定)内,则该操作将删除该容器内的所有项。

"xReplace::replace", "xmlToEdit"

使用 xReplace 编辑组件,替换所选上下文中的数据。如果当前所选项位于 xReplace 的某项(由 .xsf 中 xReplace 的 xmlToEdit 元素指定)内,则该项将被 fragmentToInsert 元素数据替换。

"xOptional::insert", "xmlToEdit"

使用 xOptional 编辑组件,基于所选上下文插入数据。如果当前所选项位于 xOptional 的某个容器(由 .xsf 中 xOptional 的 xmlToEdit 元素指定)内,则将 fragmentToInsert 元素数据追加到该容器中。

"xOptional::remove", "xmlToEdit"

使用 xOptional 编辑组件,从所选上下文中删除数据。如果当前所选项位于 xOptional 的某项内(由 .xsf 中 xOptional 的 xmlToEdit 元素指定),则删除该项。

注意在某些情况下,从视图中按钮的 OnClick 调用 ExecuteAction 方法可能会导致错误。因为单击该按钮时,所选上下文将更改为按钮。在这种情况下,最好使用自定义任务窗格、工具栏或菜单上的按钮(或链接)调用 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 命名空间