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
<ComClass(Class1.ClassId, Class1.InterfaceId, Class1.EventsId)> 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() <> "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: " & e.ToString & " " & e.Message)
End If
End Try
End Sub
Комментарии
В интерфейсе доступны IPropertyBag следующие параметры печати.
PageSize | Текущий размер страницы, например A4, B4, Letter. |
TopMargin | Верхняя часть текущего представления. |
BottomMargin | Нижнее поле текущего представления. |
LeftMargin | Левое поле текущего представления. |
RightMargin | Правое поле текущего представления. |
MarginUnitsType | Единицы измерения поля. |
Дополнительные сведения о программном импорте данных в форму InfoPath см. в центре разработчиков Microsoft Office на портале разработчика InfoPath.