Метод 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