Поделиться через


Метод View.ExecuteAction

Выполняет команду Microsoft Office InfoPath 2007 для базового XML-документа формы на основе выбранных в представлении данных.

Этот метод несовместим с 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
    Имя поля или группы, к которым применяется действие редактирования. Это эквивалентно значению атрибута имени в элементе xmlToEdit файла определения формы (.xsf).

Заметки

Метод ExecuteAction служит для программного выполнения встроенных действий редактирования InfoPath для базового XML-документа формы на основе выбранного в представлении контекста.

Выполняемое действие аналогично действию, которое выполняется при нажатии кнопки эквивалентного меню или панели инструментов; а именно тому, для которого у элемента кнопки в файле .xsf есть соответствующие атрибуты xmlToEdit и action. Как и при использовании кнопки, действие будет основываться на текущих параметрах: оно будет действовать в указанном контексте (и если в соответствии с параметрами кнопка отключена, метод ExecuteAction действовать не будет).

Можно сначала задать контекст выбора с помощью методов SelectNodes или SelectText, а затем вызвать действие метод ExecuteAction в этом контексте.

Метод ExecuteAction возвращает ошибку в силу следующих причин:

  • У параметра bstrAction отсутствует допустимое имя компонента редактирования.

  • Параметр varXmlToEdit не соответствует компоненту редактирования, заданному в представлении.

  • Параметру varXmlToEdit требуется определенное действие редактирования.

  • Действие редактирования не применимо в выбранном контексте.

  • Далее представлена таблица сочетаний параметров, которые можно использовать вместе с методом ExecuteAction.

Сочетание

Описание

"Копировать"

Копирует выбранные данные в буфер обмена.

"Вставить"

Копирует данные из буфера обмена в место вставки.

"Вырезать"

Удаляет выбранные данные и копирует их в буфер обмена.

"Удалить"

Удаляет выбранные данные.

"xCollection::insert", "xmlToEdit"

Вставляет данные, исходя из указанного контекста, с помощью компонента редактирования xCollection. Если текущий выбор входит в контейнер xCollection, заданный его элементом xmlToEdit в файле .xsf, тогда данные элемента fragmentToInsert добавляются в этот контейнер.

"xCollection::insertBefore", "xmlToEdit"

Вставляет данные до указанного контекста с помощью компонента редактирования xCollection. Если текущий выбор входит в элемент xCollection, заданный его элементом xmlToEdit в файле .xsf, тогда данные элемента fragmentToInsert вставляются до элемента.

"xCollection::insertAfter", "xmlToEdit"

Вставляет данные после указанного контекста с помощью компонента редактирования xCollection. Если текущий выбор входит в элемент xCollection, заданный его элементом xmlToEdit в файле .xsf, тогда данные элемента fragmentToInsert вставляются после элемента.

"xCollection::remove", "xmlToEdit"

Удаляет данные из указанного контекста с помощью компонента редактирования xCollection. Если текущий выбор входит в элемент xCollection, заданный его элементом xmlToEdit в файле .xsf, тогда этот элемент будет удален.

"xCollection::removeAll", "xmlToEdit"

Удаляет все данные, содержащиеся в указанном контексте, с помощью компонента редактирования xCollection. Если текущий выбор входит в контейнер xCollection, как указывает элемент xmlToEdit в файле .xsf, тогда этим действием будут удалены все элементы в этом контейнере.

"xReplace::replace", "xmlToEdit"

Заменяет данные в указанном контексте с помощью компонента редактирования xReplace. Если текущий выбор входит в элемент xReplace, как указывает элемент xmlToEdit в файле .xsf, тогда этот элемент будет заменен данными элемента fragmentToInsert.

"xOptional::insert", "xmlToEdit"

Вставляет данные на основе указанного контекста с помощью компонента редактирования xOptional. Если текущий выбор входит в контейнер xOptional, как указывает элемент xmlToEdit в файле .xsf, тогда данные элемента fragmentToInsert будут добавлены в этот контейнер.

"xOptional::remove", "xmlToEdit"

Удаляет данные из указанного контекста с помощью компонента редактирования xOptional. Если текущий выбор входит в элемент xOptional, как указывает его элемент xmlToEdit в файле .xsf, тогда этот элемент будет удален.

Примечание   В некоторых случаях вызов метода ExecuteAction из OnClick для кнопки в представлении может привести к ошибке. Это вызвано тем, что указанный контекст изменяется на кнопку при нажатии последней. В этом случае лучше использовать кнопку (или ссылку) на настраиваемую область задач, панель инструментов или меню для вызова метода ExecuteAction.

ЗаметкаВнимание!

Доступ к этому члену имеется только у форм, запускаемых на том же домене, что и открытая в настоящий момент форма, или у форм, которым были присвоены междоменные разрешения.

Пример

В следующем примере метод ExecuteAction объекта ViewObject служит для удаления выбранных данных и помещения их в буфер обмена:

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

В следующем случае метод ExecuteAction объекта ViewObject служит для вставки данных с помощью компонента редактирования xCollection на основе указанного контекста:

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

См. также

Ссылка

Интерфейс View
Члены View
Пространство имен Microsoft.Office.Interop.InfoPath.SemiTrust