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


Новые возможности для разработчиков InfoPath

В приложении Microsoft Office InfoPath 2007 добавлен ряд новых функций и улучшений, представляющих интерес для разработчиков. Основным из этих улучшений является добавление новой объектной модели с управляемым кодом, которая является более четкой и лучше интегрирована с .NET Framework. Бизнес-логика, запрограммированная с использованием этой новой модели, одинаково работает как для шаблона формы, открытого в Office InfoPath 2007, так и для шаблона формы, открытого в веб-обозревателе.

Кроме того, новая среда разработки для работы с бизнес-логикой, написанной с помощью управляемого кода, интегрирована в Office InfoPath 2007 под названием Набор средств Microsoft Visual Studio для приложений (VSTA).

Microsoft Office Forms Server 2007 и аналогичные возможности форм под названием Служба InfoPath Forms Services доступны в Microsoft Office SharePoint Server 2007, предоставляя возможность развертывать шаблон формы InfoPath на сервер, чтобы пользователи без Office InfoPath 2007 могли открывать и заполнять формы InfoPath через веб-обозреватель.

Используя бизнес-логику, написанную с помощью новой объектной модели с управляемым кодом, и работая с функциями проверки макета в режиме конструктора InfoPath, можно создать один шаблон формы, который можно развернуть в Microsoft Office Forms Server 2007 или в соответствующим образом настроенную библиотеку документов Office SharePoint Server 2007 с Служба InfoPath Forms Services. Этот шаблон формы будет запускаться как в InfoPath, так и в веб-обозревателе. Набор из клиента InfoPath и функций Служба InfoPath Forms Services, поддерживающих эти методики разработки и развертывания, указан какdesign once.

Новые функции и улучшения

В следующих разделах приведено краткое описание этих новых функций и улучшений Office InfoPath 2007, представляющих интерес для разработчиков InfoPath:

  • Новая объектная модель с управляемым кодом и среды разработки

  • Поддержка надстройки COM

  • Конвертеры шаблонов форм

  • Настраиваемые средства импорта данных

  • Просмотр идентификаторов элементов управления в пользовательском интерфейсе режима конструктора

  • Поддержка библиотек подключений данных

  • События XML

  • Части шаблонов

  • Редактор InfoPath, размещенный в виде элемента управления

Новая объектная модель с управляемым кодом и среды разработки

Приложение Office InfoPath 2007 предоставляет новую объектную модель с управляемым кодом, использующую базовый набор возможностей для создания настраиваемой бизнес-логики в шаблонах форм. Если развертывание производится в Microsoft Office Forms Server 2007 или в соответствующим образом настроенную библиотеку документов Office SharePoint Server 2007, то бизнес-логика, созданная с помощью этой новой объектной модели, будет запускаться как в веб-обозревателе, так и в Office InfoPath 2007. При необходимости можно написать бизнес-логику, использующую дополнительные возможности, доступные в этой объектной модели, которые будут запускаться только в шаблонах форм, открытых для редактирования в Office InfoPath 2007.

Чтобы написать бизнес-логику, которая будет запускаться при открытии формы как в веб-обозревателе, так и в Office InfoPath 2007, при создании шаблона формы установите флажок Включить только возможности, совместимые с веб-обозревателем в диалоговом окне Создание шаблона формы. Чтобы написать бизнес-логику, использующую дополнительные возможности только при открытии в Office InfoPath 2007, при создании нового шаблона формы снимите флажок Включить только возможности, совместимые с веб-обозревателем. Также можно изменить этот параметр после создания шаблона формы, щелкнув Изменить параметры совместимости в области задач Проверка макета.

Приложение Office InfoPath 2007 предоставляет два варианта разработки шаблонов форм, содержащих бизнес-логику, написанную с применением управляемого кода:

  • Интегрированная в InfoPath среда разработки Набор средств Microsoft Visual Studio для приложений (VSTA) аналогична среде редактора Visual Basic, используемой другими приложениями Office. VSTA представляет собой облегченную среду разработки, основанную на возможностях Visual Studio.

  • Интеграция режима конструктора InfoPath со средствами Visual Studio для Microsoft Office, что позволяет разрабатывать шаблоны форм InfoPath и программировать бизнес-логику управляемого кода, не выходя из среды Visual Studio.

Дополнительные сведения о новой объектной модели и средах разработки см. в статье Общие сведения о средах разработки и объектных моделях InfoPath 2007.

Поддержка надстройки COM

Приложение Office InfoPath 2007 обеспечивает поддержку создания и регистрации надстроек COM с помощью модели разработки, почти аналогичной другим приложениям Office, таким как Word и Excel. Надстройки InfoPath COM поддерживают интерфейс IDTExtensibility2 для реализации методов, которые действуют в качестве обработчиков событий в ответ на условия запуска и выключения InfoPath. В объектную модель InfoPath COM добавлен объект ApplicationEvents, который обеспечивает поддержку событий уровня приложения, таких как события WindowActivate и XDocumentOpen, позволяющие создавать обработчики событий в надстройке COM для окна формы InfoPath и событий документа.

Чтобы создать надстройку InfoPath Com, необходимо внедрить пять событий интерфейса IDTExtensibility2. Дополнительные сведения об интерфейсе IDTExtensibility2 см. в MSDN по строке поиска "IDTExtensibility2".

После создания надстройки необходимо зарегистрировать ее в подразделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\InfoPath\AddIns\ и указать значения FriendlyName, Description и LoadBehavior.

Надстройки InfoPath COM можно загружать по умолчанию при запуске приложения, а также вызывать через диалоговое окно Надстройки COM. Чтобы вывести на экран диалоговое окно Надстройки COM, выберите пункт Надстройки COM в меню Сервис.

Конвертеры шаблонов форм

Приложение InfoPath 2003 с пактом обновления 1 и старше предоставляет платформу для создания нового шаблона формы путем импорта структуры электронной формы другого типа. В рамках Office InfoPath 2007 предоставляется конвертер для создания нового шаблона формы InfoPath на основе структуры формы, созданной в документе Microsoft Office Word или в книге Microsoft Excel. Чтобы начать процедуру импорта структуры формы, созданной в Word или Excel, выберите пункт Импорт формы в меню Файл для вывода на экран Мастера импорта.

Приложение Office InfoPath 2007 расширяет эту платформу для поддержки также создания и установки настраиваемых конвертеров, предназначенных для экспорта структуры шаблона формы InfoPath в электронную форму другого тип. Если настраиваемый конвертер экспорта установлен, то пользователь может открыть шаблон формы InfoPath в режиме конструктора, а затем выбрать командуЭкспорт шаблона формы в меню Файл, чтобы экспортировать структуру формы в электронную форму другого типа.

Интерфейсы конвертера

Конвертеры шаблонов форм указывают список поддерживаемых типов файлов и обрабатывают файлы этих типов для вывода шаблона формы InfoPath в файлы manifest (.xsf), view (.xsl) и другие, связанные с файлом шаблона формы InfoPath (.xsn).

Конвертер шаблонов форм InfoPath представляет собой стандартный компонент автоматизации COM, реализующий интерфейсы IFormTemplateConverter и IFormTemplateConverter2. Реализация интерфейса IFormTemplateConverter обеспечивает совместимость с Microsoft InfoPath 2003. Интерфейс IFormTemplateConverter2 предоставляет дополнительные возможности для пользователей Office InfoPath 2007. Чтобы получить представление в режиме конструктора InfoPath, конвертер также должен предоставить некоторые базовые сведения о себе в реестре, в том числе:

  • Отображаемое имя

  • Подробное описание

  • Список расширений файлов, поддерживаемых конвертером

Библиотека динамической компоновки IPDESIGN.DLL, расположенная в папке C:\Program Files\Microsoft Office\Office12, предоставляет интерфейсы IFormTemplateConverter, IFormTemplateConverter2, IConversionManager и IConversionManager2 для создания настраиваемых конвертеров структуры форм.

Автоматизация конвертера

Конвертеры шаблонов форм можно автоматизировать, чтобы упростить пакетный импорт и экспорт нескольких шаблонов форм. Чтобы автоматизировать конвертер, следует использовать методы, реализуемые конвертером. Например, в следующем фрагменте JScript демонстрируется автоматизация средства импорта формы Microsoft Office Word для импорта файла "sample.doc":

var oConverter = new ActiveXObject("InfoPath.DesignerWordImport.2");
var strSourcePath = "c:\\temp\\sample.doc";
var strDestPath = "c:\\temp\\sampleOutput\\"

oConverter.Initialize();
try
{
   oConverter.SetLcid(1033);
   var strMessage = oConverter.Import(strSourcePath, strDestPath, true);
}
catch(e)
{
   WScript.Echo("Error: " + e.message);
}

WScript.Echo("Result was: " + strMessage);

oConverter.UnInitialize();

Настраиваемые средства импорта данных

Приложение Office InfoPath 2007 предоставляет платформы для создания настраиваемых средств импорта данных из электронных форм и документов других типов, а также из бумажных форм и документов, прошедших электронное сканирование с помощью программы оптического распознавания текста (OCR). Чтобы вывести на экран диалоговое окно Импорт данных формы, выберите пункт Заполнить форму в меню Файл, выберите форму для заполнения, а затем выберите пункт Импорт данных формы в меню Файл.

Библиотека динамической компоновки IPEDITOR.DLL, расположенная в папке C:\Program Files\Microsoft Office\Office12, предоставляет интерфейсы IInfoPathDataImporter, IInfoPathDataImporterFields, IInfoPathViewControl и IPropertyBag, которые необходимо внедрить для создания настраиваемого средства импорта.

Просмотр идентификаторов элементов управления в пользовательском интерфейсе режима конструктора

Теперь в режиме конструктора можно указать идентификатор ViewContext для элемента управления в форме InfoPath, вызвав диалоговое окно Свойства для элемента управления, а затем выбрав вкладку Дополнительно. Значение ViewContext для текущего элемента управления отобразится в разделе Код вкладки Дополнительно.

Поддержка библиотек подключений данных

Библиотека подключений данных представляет собой список, хранящийся на сервере Office SharePoint Server 2007 или Office Forms Server 2007, где содержатся файлы подключений данных. Файлы подключений данных, хранящиеся в библиотеке подключений данных, могут представлять собой либо OCD-файлы, используемые приложением Excel, либо UDC-файлы, используемые приложением Office InfoPath 2007. Каждый файл UDC содержит параметры подключения данных, которые могут использоваться шаблоном формы InfoPath.

UDC-файл из библиотеки подключений данных можно использовать для указания подключения данных к пользовательскому шаблону формы (шаблону формы, развернутому пользователем и не содержащему кода и других функций, требующих утверждения администратором). Всем UDC-файлам, добавленным в библиотеку подключений данных, перед использованием требуется утверждение администратором семейства узлов. Также существует отдельное центральное хранилище UDC-файлов, которое управляется администратором фермы серверов и может быть использовано только для шаблонов форм, одобренных администратором (шаблонов форм, содержащих код и другие функции, требующие утверждения администратором).

Для осуществления междоменного подключения пользовательского шаблона формы к источнику данных требуется два фактора:

  1. Администратор фермы серверов должен сначала разрешить междоменные подключения для пользовательских шаблонов форм на всей ферме серверов.

  2. Все междоменные подключения данных должны быть указаны в библиотеке подключений данных.

По умолчанию объекты в библиотеке подключений данных требуют утверждения администратором узла, прежде чем приложение InfoPath сможет использовать их.

При публикации на сервер Office SharePoint Server 2007 или Office Forms Server 2007 разработчик формы может выбрать одно или более подключений, указанных в UDC-файлах библиотеки подключений данных, расположенной на сервере в том же семействе узлов. Файлы для серверных форм должны находиться на сервере, где будет опубликована форма. В UDC-файлах могут содержаться специальные серверные сведения, такие как альтернативные сведения проверки подлинности или даже ссылка на серверное подключение.

При разработке шаблона формы и создании подключения данных к подключению данных из библиотеки подключений данных приложение InfoPath помещает ссылку на UDC-файл в файл манифеста шаблона формы (.xsf). Параметры подключения во время выполнения будут извлекаться из библиотеки подключений данных. Это позволяет администратору сервера изменять параметры подключения после развертывания формы.

Указание подключения из библиотеки подключений данных в существующем шаблоне формы

  1. Откройте шаблон формы в режиме конструктора.

  2. В меню Сервис выберите пунктПодключения данных.

  3. Щелкните Добавить для запуска Мастера подключения данных, щелкните Поиск подключений на сервере Microsoft Office SharePoint Server, а затем нажмите кнопку Далее.

Указание подключения из библиотеки подключений данных при создании новой пустой формы

  1. В меню Файл выберите пункт Создать форму.

  2. В диалоговом окне Создать форму щелкните значок Библиотека подключений.

Указание подключения из библиотеки подключений данных для элемента управления "Список", "Раскрывающийся список" или "Поле со списком"

  1. Откройте шаблон формы в режиме конструктора.

  2. Вызовите диалоговое окно Свойства для элемента управления.

  3. На вкладке Данные щелкните Искать значения во внешнем источнике данных, а затем щелкните Добавить.

  4. Щелкните Поиск подключений на сервере Microsoft Office SharePoint Server и нажмите кнопку Далее.

Указание подключения данных из библиотеки подключений данных при настройке параметров отправки шаблона формы

  1. Откройте шаблон формы в режиме конструктора.

  2. В меню Сервисвыберите пункт Параметры отправки.

  3. Установите флажок Разрешить пользователям отправлять эту форму.

  4. Выберите в раскрывающемся списке вариант Подключение из библиотеки подключений данных.

  5. Щелкните Добавить, чтобы запустить Мастер подключения данных.

Указание подключения данных из библиотеки подключений данных при настройке шаблона формы для отправки на веб-сервер с помощью HTTP Post

  1. Откройте шаблон формы в режиме конструктора.

  2. В меню Сервисвыберите пункт Параметры отправки.

  3. Установите флажок Разрешить пользователям отправлять эту форму.

  4. Щелкните Отправить данные формы в одно место, а затем выберите в раскрывающемся списке вариант Веб-сервер (HTTP).

  5. Выберите команду Изменить.

  6. В диалоговом окне Отправка на веб-сервер последовательно щелкните Подключение к Office Server и Подключение к серверу.

Настройка параметров проверки подлинности библиотеки подключений данных на сервере Office SharePoint Server

Администратор сервера может управлять выполнением определенных функций проверки подлинности для подключений, указанных в библиотеке подключений данных Office SharePoint Server 2007 или Office Forms Server 2007. В следующей таблице перечисляются параметры библиотеки подключений данных, которые можно вызвать в центре администрирования SharePoint 3.0 на странице Управление приложениями, щелкнув Настройка служб InfoPath Forms Services.

Параметр Описание

HTTP-проверка подлинности при доступе к источникам данных только с использованием SSL

Формам, которые подключаются к фоновым источникам данных, таких как веб-службы, может потребоваться подключение с использованием обычной или краткой проверки подлинности, что подразумевает отправку пароля по сети. Установите этот флажок, если для этих типов проверки подлинности требуется подключение с шифрованием средствами SSL. По умолчанию значение этого параметра равно True (включено).

Разрешить проверку подлинности с внедренными данными SQL

Формы, которые подключаются к базам данных Microsoft SQL Server, могут указывать имя пользователя и пароль SQL Server в строке подключения. Строку подключения можно прочесть в виде обычного текста в UDC-файле, связанном с этим шаблоном формы или в файле манифеста шаблона формы .xsf. Снимите этот флажок, чтобы запретить формам использовать внедренные учетные данные SQL. По умолчанию значение этого параметра равно False (выключено).

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

В UDC-файлах могут содержаться сведения для альтернативной проверки подлинности, например явно указываемые имя и пароль пользователя или идентификатор приложения для службы единого входа. Установите этот флажок, чтобы разрешить использование таких сведений из UDC-файлов для пользовательских шаблонов форм. По умолчанию значение этого параметра равно False (выключено).

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

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

События XML

Когда пользователи работают с шаблоном формы, созданным с помощью Office InfoPath 2007 и развернутым в Office Forms Server 2007 или Office SharePoint Server 2007, приложение InfoPath сохраняет и обрабатывает данные формы в памяти с помощью одного из двух возможных методов, выбор которых осуществляется в зависимости от варианта открытия шаблона формы:

  • Если шаблон формы открыт в InfoPath, то используется объект Microsoft XML Core Services 5.0 (MSXML5) DOMDocument.

  • Если шаблон формы открыт в веб-обозревателе, то используется класс Microsoft .NET Framework 2.0 XmlDocument.

Используя методы класса XPathNavigator в сочетании с классами и элементами новой объектной модели Microsoft.Office.InfoPath, разработчики шаблонов форм могут создавать подпрограммы и функции с управляемым кодом, которые используют и обновляют XML-данные в обоих этих хранилищах. События XML позволяют разработчикам форм программно выполнять отмену, добавлять утверждения и указывать побочные эффекты для операций над XML-узлами, таких как Insert, Delete и ValueChange.

При работе с новой объектной моделью с управляемым кодом Office InfoPath 2007 предоставляет базовые XML-события: Changing, Validating и Changed.

ЗаметкаЗаметка

Событие Changing поддерживается только в бизнес-логике шаблона формы, открытого с помощью Office InfoPath 2007. Событие Changing не поддерживается в шаблонах форм с поддержкой веб-обозревателя, открытых в веб-обозревателе.

Создание обработчика событий Changing, Validating и Changed для элемента управления

  1. Откройте шаблон формы в режиме конструктора.

  2. Щелкните правой кнопкой мыши элемент управления, выберите пункт Программирование, а затем щелкните событие, с которым требуется осуществить операцию.

После этого откроется среда Набор средств Microsoft Visual Studio для приложений (VSTA) (либо Visual Studio 2005, если установлены приложения Visual Studio 2005 и Набор средств Microsoft Visual Studio 2005 для Microsoft Office System 2007, либо в Visual Studio 2008 с Visual Studio Tools для Office) и будет создана структура обработчика событий аналогично следующему примеру для события Changed в C#:

public void field1_Changed(object sender, XmlEventArgs e)
{
   // Write code here to change data outside the Main Data Object
   // such as other Data Objects and member variables.
   if (e.UndoRedo)
   {
      // InfoPath will handle all undo and redo operations that change
      // the Main Data Object, so there is nothing left for custom code
      // to do.
      return;
   }
    // Write code here to change the Main Data Object.
}

Дополнительные сведения о создании обработчиков событий см. в статье Практическое руководство. Добавление обработчика событий. Дополнительные сведения о работе с XML с помощью новой объектной модели с управляемым кодом см. в статье Практическое руководство. Работа с классами XPathNavigator и XPathNodeIterator.

Привязка событий с помощью делегатов

При использовании новой объектной модели с управляемым кодом приложение Office InfoPath 2007 привязывает события к обработчикам событий, используя делегаты. Обратите внимание, что хотя приложение InfoPath использует делегаты для привязки событий, но используемые возможности типичны для управляемого кода. Как правило, приложение InfoPath использует делегаты для привязки статических событий. Привязка может осуществляться только в методе InternalStartup, который выполняется при загрузке формы. Если делегаты для привязки событий объявляются в другом месте кода, то происходит исключение во время выполнения.

Далее приведен код C#, созданный приложением InfoPath при добавлении обработчиков событий Changed для поля field1 и событий Validating для поля field2. Обратите внимание, что код привязки событий к обработчику событий добавлен в метод InternalStartup с помощью делегатов XmlChangedEventHandler и XmlValidatingEventHandler.

using System;
using Microsoft.Office.InfoPath;

namespace Template1
{
   public partial class FormCode
   {
      public void InternalStartup()
      {
         EventManager.XmlEvents["/my:myFields/my:field1"].Changed += new XmlChangedEventHandler(field1_Changed);
         EventManager.XmlEvents["/my:myFields/my:field2"].Validating += new XmlValidatingEventHandler(field2_Validating);
      }

      public void field1_Changed(object sender, XmlEventArgs e)
      {
         // Code for Changed event goes here.
      }

      public void field2_Validating(object sender, XmlValidatingEventArgs e)
      {
         // Code for Validating event goes here.
      }
   }
}
ЗаметкаВнимание!

Метод InternalStartup и код привязки событий в этом методе создаются приложением InfoPath при добавлении обработчиков событий с помощью различных команд интерфейса пользователя. Не следует самостоятельно создавать метод InternalStartup или добавлять какой-либо дополнительный код в нем. Сведения о добавлении обработчиков событий см. в статье Практическое руководство. Добавление обработчика событий.

Блоки шаблона

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

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

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

Создание блока шаблона

  1. В меню Файл выберите пункт Создать форму.

  2. В диалоговом окне Создать форму щелкните Блок шаблона.

  3. В поле На основе щелкните значок источника данных, на котором требуется основать блок шаблона, а затем нажмите кнопку ОК.

  4. Сконструируйте блок шаблона аналогично любому другому шаблону формы, вставляя макет, элементы управления, правила и утверждение данных. Также можно добавлять подключения данных для обеспечения автоматического заполнения элементов управления Раскрывающийся список, Поле со списком и Список.

  5. Чтобы сохранить блок шаблона, выберите пункт Сохранить в меню Файл. Отображаемое имя блока шаблона будет идентично имени файла, в который он сохранен.

  6. Если используется InfoPath и среда разработки Набор средств Microsoft Visual Studio для приложений (VSTA), в области задач Элементы управления щелкните последовательно Добавление или удаление пользовательских элементов управления и Добавить, а затем укажите сохраненный файл блоков шаблона InfoPath (.xtp).

    Если используется Visual Studio с интеграцией режима конструирования InfoPath, щелкните правой кнопкой мыши Панель элементов, а затем последовательно щелкните Выбрать элементы и Добавить, а затем укажите сохраненный файл блоков шаблона InfoPath (.xtp).

Использование блока шаблона

  1. Создайте новый шаблон формы и откройте область задач Элементы управления.

  2. Прокрутите вниз до элементов управления Настраиваемые и перетащите блок шаблона на форму.

    ЗаметкаЗаметка

    Если используется Visual Studio с интеграцией режима конструктора InfoPath, то блоки шаблона перечисляются в конце раздела InfoPath на Панели элементов.

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

ЗаметкаЗаметка

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

Редактор InfoPath, размещенный в виде элемента управления

Возможности редактирования форм InfoPath подразделяются на ряд свойств и методов, предоставляемых через объект InfoPathEditorObject библиотеки динамической компоновки IPEDITOR.DLL. Эти свойства и методы позволяют размещать подмножество функций редактирования InfoPath из другого приложения в качестве элемента управления ActiveX или управляемого элемента управления формы Windows.

Программа установки InfoPath также устанавливает сборку Microsoft.Office.InfoPath.FormControl.dll, расположенную в папке C:\Program Files\Microsoft Office\Office12, которая реализует объектную модель COM объекта InfoPathEditorObject для использования элемента управления в формах Windows и других приложениях .NET.

В следующей таблице обобщаются свойства и методы, предоставляемые объектом InfoPathEditor:

Элементы Описание

Метод CloseDocument

Закрывает открытый XML-документ.

Свойство DataConnectionBaseURL

Возвращает или задает URL-адрес, используемый для подключений данных.

FlushDocumentCloseDocument

Сохраняет или очищает загруженный документ.

Свойство Host

Возвращает или задает объект, используемый для доступа к объектной модели внешнего приложения. Значение по умолчанию равно null.

Свойство HostName

Возвращает или задает имя внешнего приложения.

Метод Load

Загружает указанный XML-документ из файловой системы, основываясь на URL-адресе имени файла. Предоставленный XML-файл должен содержать инструкции обработки (атрибуты href и name), которые указывают шаблон формы, используемый для загрузки и редактирования XML-файла.

LoadFromStreamCloseDocument

Загружает указанный XML-документ из потока (IStream).

NewFromSolutionCloseDocument

Создает новый документ формы InfoPath, основываясь на URL-адресе указанного шаблона формы.

NewFromSolutionWithDataCloseDocument

Создает новый документ формы InfoPath, используя указанные XML-данные как поток IStream и URL-адрес файла шаблона формы. При использовании этого метода в XML-файле не обязательно должны содержаться инструкции обработки, указывающие шаблон формы, который используется для загрузки и редактирования файла.

SetInitEventHandlerCloseDocument

Задает функцию во внешнем приложении, которая используется в качестве функции обратного вызова для события Initialize, вызываемого до события InfoPath OnLoad.

SetSubmitToHostEventHandlerCloseDocument

Задает функцию во внешнем приложении, которая используется в качестве функции обратного вызова при отправке данных обратно во внешнее приложение. Чтобы настроить подключение данных для отправки во внешнее приложение, откройте шаблон формы в режиме конструирования InfoPath, выберите пункт Параметры отправки в меню Сервис, установите флажок Разрешить пользователям отправлять эту форму, выберите в раскрывающемся списке вариант Среда внешнего размещения и щелкните Добавить.

Свойство XDocument

Возвращает объект XDocument для работы с элементами объектной модели InfoPath.

ЗаметкаЗаметка
Если осуществляется работа со сборкой Microsoft.Office.InfoPath.FormControl, то это свойство называется XmlForm и возвращает объект XmlForm для работы с элементами объектной модели InfoPath.

Панели инструментов и строки меню InfoPath не предоставляются в рамках объекта InfoPathEditor. Однако каждая команда в областях задачи и меню редактора InfoPath предоставляется через интерфейс IOLECommandTarget. После этого внешнее приложение может выполнять эти команды через данный интерфейс, позволяя разработчику полностью или частично воспроизводить эти возможности, или же полностью запретить их, в зависимости от потребностей.

Сведения о работе с командами InfoPath с помощью интерфейса IOLECommandTarget см. в статье "Размещение среды редактирования форм InfoPath в настраиваемом приложении WinForm", где указана ссылка на пример проекта Visual Studio, на портале разработчиков InfoPath веб-узла MSDN.

Добавление элемента управления редактора InfoPath в приложение формы Windows

  1. Запустите приложение Microsoft Visual Studio.

  2. Создайте новый проект Приложение Windows.

  3. Добавьте элемент InfoPath FormControl на Панель элементов в качестве компонента .NET Framework (сборка Microsoft.Office.InfoPath.FormControl.dll расположена в папке C:\Program Files\Microsoft Office\Office12)

  4. Перетащите элемент управления FormControl в форму Windows.

  5. Добавьте в форму Windows элемент управления Кнопка.

  6. Напишите обработчик событий Click для элемента управления Кнопка с загрузкой XML-файла формы InfoPath в элемент FormControl (например, formControl1.New(@"C:\hello.xml");)

  7. Постройте и запустите приложение.

Предполагается, что XML-файл InfoPath "hello.xml" существует по адресу C:\hello.xml. Чтобы воспользоваться методом New, примененным в этом примере, в XML-файле должны присутствовать ссылки на инструкцию обработки, использующие атрибуты href и name, которые указывают файл шаблона формы InfoPath (.xsn) в заголовке. Если это невозможно, можно воспользоваться методом NewFromFormTemplate(string, System.IO.Stream,Microsoft.Office.InfoPath.XmlFormOpenMode) для загрузки XML из System.IO.Stream. Также можно воспользоваться NewFromFormTemplate(string), если существует файл .xsn и XML-файл соответствующей структуры, но в XML-файле нет ссылок на инструкции обработки, указывающих файл .xsn. Метод NewFromFormTemplate объекта FormControl соответствует методам NewFromSolution и LoadFromStream объекта InfoPathEditorObject.

См. также

Другие ресурсы

Разработка шаблонов форм InfoPath с управляемым кодом
Разработка шаблонов форм с управляемым кодом, использующих объектную модель InfoPath 2003