Sdílet prostřednictvím


IInfoPathDataImporter.Import-Methode

Importiert die Daten in das aktuelle Formular.

Namespace: Microsoft.Office.Interop.InfoPath
Assembly: Microsoft.Office.Interop.InfoPath (in microsoft.office.interop.infopath.dll)

Syntax

'Declaration
Sub Import ( _
    <InAttribute> pPrintSettings As IPropertyBag, _
    <InAttribute> punkViewControls As IEnumUnknown _
)
'Usage
Dim instance As IInfoPathDataImporter
Dim pPrintSettings As IPropertyBag
Dim punkViewControls As IEnumUnknown

instance.Import(pPrintSettings, punkViewControls)
void Import (
    [InAttribute] IPropertyBag pPrintSettings,
    [InAttribute] IEnumUnknown punkViewControls
)

Parameter

  • pPrintSettings
    Eine Auflistung von Druckeinstellungen.
  • punkViewControls
    Eine mshtml.IEnumUnknown-Auflistung der Steuerelemente in der Ansicht.

Hinweise

Die folgenden Druckeinstellungen stehen über die IPropertyBag-Schnittstelle zur Verfügung.

Druckwert

Beschreibung

PageSize

Die aktuelle Seitengröße, z. B. A4, B4, Letter.

TopMargin

Der obere Rand der aktuellen Ansicht.

BottomMargin

Der untere Rand der aktuellen Ansicht.

LeftMargin

Der linke Rand der aktuellen Ansicht.

RightMargin

Der rechte Rand der aktuellen Ansicht.

MarginUnitsType

Die Maßeinheit für Ränder.

Weitere Informationen zum programmgesteuerten Import von Daten in ein InfoPath-Formular finden Sie unter InfoPath Developer Portal im Microsoft Office Developer Center.

Beispiel

Im folgenden Beispiel dient die Import-Methode der IInfoPathDataImporter-Schnittstelle zum Durchlaufen der mshtml.IEnumUnknown-Auflistung von IInfoPathViewControl-Steuerelementen in der Ansicht des aktiven Formulars.

Die Import-Routine bildet den Hauptteil einer Projektmappe, mit der ein benutzerdefinierter Datenimporter erstellt wird. Das Visual Studio-Projekt benötigt einen Verweis auf die Microsoft Office InfoPath 2.0-Typbibliothek und System.Windows.Forms, jeweils mit Imports-Anweisungen sowie mshtml.Implements-Anweisungen zum Generieren der Signaturen für die Methoden, die von den Schnittstellen für den benutzerdefinierten Datenimporter bereitgestellt werden, wie z. B. IInfoPathDataImporter, IInfoPathDataImporterFields, IInfoPathViewControl und IPropertyBag.

HinweisHinweis:

Aktivieren Sie zum Erstellen eines benutzerdefinierten Datenimporters mit einer .NET-Klassenbibliothek das Kontrollkästchen Für COM-Interop registrieren auf der Registerkarte Kompilieren des Klasseneigenschafteneditors.

HinweisHinweis:

Legen Sie zum Debuggen eines benutzerdefinierten Datenimporters eine Startaktion in Visual Studio auf Start an external program fest, und navigieren Sie zu INFOPATH.EXE in "<Laufwerk>:\Programme\Microsoft Office\Office12\". Diese Option steht auf der Registerkarte Debuggen des Klasseneigenschafteneditors zur Verfügung.

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

Siehe auch

Referenz

IInfoPathDataImporter-Schnittstelle
IInfoPathDataImporter-Member
Microsoft.Office.Interop.InfoPath-Namespace