Freigeben über


IInfoPathDataImporter.Import(IPropertyBag, IEnumUnknown) Methode

Definition

Importiert Daten in das aktuelle Formular.

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)

Parameter

pPrintSettings
IPropertyBag

Eine Sammlung von Druckeinstellungen.

punkViewControls
mshtml.IEnumUnknown

Eine mshtml-Datei. IEnumUnknown-Auflistung von Steuerelementen in der Ansicht.

Beispiele

Im folgenden Beispiel wird die Import-Methode der IInfoPathDataImporter -Schnittstelle verwendet, um mshtml zu durchlaufen. IEnumUnknown-Auflistung von IInfoPathViewControl Steuerelementen in der Ansicht des aktiven Formulars.

Die Importroutine ist der Hauptteil einer Lösung, die zum Erstellen eines benutzerdefinierten Datenimporteurs verwendet wird. Das Visual Studio-Projekt erfordert einen Verweis auf die Microsoft Office InfoPath 2.0-Typbibliothek und System.Windows.Forms mit Imports-Anweisungen für jede sowie mshtml. Implementierungsanweisungen sind erforderlich, um die Signaturen für die Methoden zu generieren, die von den benutzerdefinierten Datenimportierschnittstellen bereitgestellt werden, einschließlich IInfoPathDataImporter, IInfoPathDataImporterFieldsIInfoPathViewControl, und IPropertyBag.

Hinweis: Aktivieren Sie das Kontrollkästchen Für COM-Interop registrieren auf der Registerkarte Kompilieren des Klasseneigenschaften-Editors, um einen benutzerdefinierten Datenimporter mithilfe einer .NET-Klassenbibliothek zu erstellen.

Hinweis: Um einen benutzerdefinierten Datenimport zu debuggen, legen Sie eine Startaktion in Visual Studio auf Starten eines externen Programms fest, und navigieren Sie zu INFOPATH.EXE sich unter <Laufwerk>:\Programme\Microsoft Office\Office12\. Diese Option ist auf der Registerkarte Debuggen des Klasseneigenschaften-Editors verfügbar.

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

Hinweise

Die folgenden Druckeinstellungen sind über die IPropertyBag -Schnittstelle verfügbar.

PageSizeDie aktuelle Seitengröße, z. B. A4, B4, Letter.
TopMarginDer obere Rand der aktuellen Ansicht.
BottomMarginDer untere Rand der aktuellen Ansicht.
LeftMarginDer linke Rand der aktuellen Ansicht.
RightMarginDer rechte Rand der aktuellen Ansicht.
MarginUnitsTypeDie Maßeinheiten für den Rand.

Weitere Informationen zum programmgesteuerten Importieren von Daten in ein InfoPath-Formular finden Sie im InfoPath Developer PortalMicrosoft Office Developer Center.

Gilt für: