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


IInfoPathDataImporter.Import(IPropertyBag, IEnumUnknown) Метод

Определение

Импорт данных в текущую форму.

public:
 void Import(Microsoft::Office::Interop::InfoPath::IPropertyBag ^ pPrintSettings, mshtml::IEnumUnknown ^ punkViewControls);
public void Import (Microsoft.Office.Interop.InfoPath.IPropertyBag pPrintSettings, mshtml.IEnumUnknown punkViewControls);
abstract member Import : Microsoft.Office.Interop.InfoPath.IPropertyBag * mshtml.IEnumUnknown -> unit
Public Sub Import (pPrintSettings As IPropertyBag, punkViewControls As IEnumUnknown)

Параметры

pPrintSettings
IPropertyBag

Коллекция параметров печати.

punkViewControls
mshtml.IEnumUnknown

Mshtml. Коллекция элементов управления IEnumUnknown в представлении.

Примеры

В следующем примере метод IInfoPathDataImporterImport интерфейса используется для итерации по mshtml. Коллекция элементов управления IEnumUnknown в представлении активной формы.IInfoPathViewControl

Подпрограмма импорта является основной частью решения, используемого для создания пользовательского средства импорта данных. Для проекта Visual Studio требуется ссылка на библиотеку типов Microsoft Office InfoPath 2.0 и System.Windows.Forms с инструкциями Imports для каждого из них, а также mshtml. Инструкции implements необходимы для создания сигнатур для методов, предоставляемых пользовательскими интерфейсами импорта данных, включая IInfoPathDataImporter, IInfoPathDataImporterFields, IInfoPathViewControlи IPropertyBag.

Примечание. Чтобы создать пользовательский импорт данных с помощью библиотеки классов .NET, установите флажок Зарегистрировать для COM-взаимодействия на вкладке Компиляция редактора свойств класса.

Примечание. Чтобы выполнить отладку пользовательского средства импорта данных, задайте для параметра Действие запуска в Visual Studio значение Запуск внешней программы и перейдите к INFOPATH.EXE, расположенному по адресу <диск>:\Program Files\Microsoft Office\Office12\. Этот параметр доступен на вкладке Отладка редактора свойств класса.

Imports Microsoft.Office.Interop.InfoPath
Imports System.Windows.Forms
Imports mshtml

&lt;ComClass(Class1.ClassId, Class1.InterfaceId, Class1.EventsId)&gt; Public Class Class1
   Implements Microsoft.Office.Interop.InfoPath.IInfoPathDataImporter
   Implements Microsoft.Office.Interop.InfoPath.IInfoPathDataImporterFields
   Implements Microsoft.Office.Interop.InfoPath.IInfoPathViewControl
   Implements Microsoft.Office.Interop.InfoPath.IPropertyBag

   Public Const ClassId As String = _
      "1FEB0DF8-E7F1-4b21-A9EE-B06D5FECC572"
   Public Const InterfaceId As String = _
      "9F9F685C-71A0-46ec-A7F9-A86AF8CBC2A8"
   Public Const EventsId As String = _
      "ED7C0C49-3F89-40a2-A50E-C59E8F682B08" 

Public Sub Import( _
   ByVal pPrintSettings As Microsoft.Office.Interop.InfoPath.IPropertyBag, _
   ByVal punkViewControls As mshtml.IEnumUnknown) _
   Implements Microsoft.Office.Interop.InfoPath.IInfoPathDataImporter.Import

   Dim pControl As IInfoPathViewControl
   Dim pUnk As Object
   Dim pcelt As UInt16 = 1
   Dim pceltFetched As UInt16 = 0

   Try
      'Gets first control in the view
      punkViewControls.RemoteNext(pcelt, pUnk, pceltFetched)

      Do While pUnk.ToString() &lt;&gt; "Nothing"
         pControl = pUnk
         MessageBox.Show(pControl.ControlType)
         'Gets next control in the view
         punkViewControls.RemoteNext(pcelt, pUnk, pceltFetched)
      Loop
   Catch e As Exception
      If e.Message = _
         "Object reference not set to an instance of an object." Then
         'Signals the end of the enumeration/controls in the view
      Else
         MessageBox.Show("Error: " &amp; e.ToString &amp; " " &amp; e.Message)
      End If
   End Try
End Sub

Комментарии

В интерфейсе доступны IPropertyBag следующие параметры печати.

PageSizeТекущий размер страницы, например A4, B4, Letter.
TopMarginВерхняя часть текущего представления.
BottomMarginНижнее поле текущего представления.
LeftMarginЛевое поле текущего представления.
RightMarginПравое поле текущего представления.
MarginUnitsTypeЕдиницы измерения поля.

Дополнительные сведения о программном импорте данных в форму InfoPath см. в центре разработчиков Microsoft Office на портале разработчика InfoPath.

Применяется к