Partager via


IInfoPathDataImporter.Import(IPropertyBag, IEnumUnknown) Méthode

Définition

Importe les données dans la forme actuelle.

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)

Paramètres

pPrintSettings
IPropertyBag

Collection de paramètres d’impression.

punkViewControls
mshtml.IEnumUnknown

Mshtml. Collection IEnumUnknown de contrôles dans la vue.

Exemples

Dans l’exemple suivant, la méthode Import de l’interface IInfoPathDataImporter est utilisée pour itérer au sein du mshtml. Collection IEnumUnknown de IInfoPathViewControl contrôles dans la vue du formulaire actif.

La routine d’importation est la partie principale d’une solution utilisée pour créer un importateur de données personnalisé. Le projet Visual Studio nécessite une référence à la bibliothèque de types Microsoft Office InfoPath 2.0 et System.Windows.Forms, avec des instructions Imports pour chacun ainsi que mshtml. Les instructions implémententes sont nécessaires pour générer les signatures pour les méthodes fournies par les interfaces d’importateur de données personnalisées, notamment IInfoPathDataImporter, IInfoPathDataImporterFieldsIInfoPathViewControl, et IPropertyBag.

Remarque : Pour créer un importateur de données personnalisé à l’aide d’une bibliothèque de classes .NET, cochez la case S’inscrire à l’interopérabilité COM sous l’onglet Compiler de l’éditeur de propriétés de classe.

Remarque : Pour déboguer un importateur de données personnalisé, définissez une action de démarrage dans Visual Studio sur Démarrer un programme externe et accédez à INFOPATH.EXE situé à <l’adresse lecteur>:\Program Files\Microsoft Office\Office12\. Cette option est disponible sous l’onglet Débogage de l’éditeur de propriétés de classe.

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

Remarques

Les paramètres d’impression suivants sont disponibles via l’interface IPropertyBag .

PageSizeTaille de page actuelle, par exemple A4, B4, Lettre.
TopMarginMarge supérieure de l’affichage actuel.
BottomMarginMarge inférieure de l’affichage actuel.
LeftMarginMarge gauche de l’affichage actuel.
RightMarginMarge droite de l’affichage actuel.
MarginUnitsTypeUnités de mesure de marge.

Pour plus d’informations sur l’importation programmatique de données dans un formulaire InfoPath, consultez le Centre de développement Microsoft Office du portail des développeurs InfoPath.

S’applique à