Compartilhar via


IInfoPathDataImporter.Import(IPropertyBag, IEnumUnknown) Método

Definição

Importa dados para o formulário atual.

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)

Parâmetros

pPrintSettings
IPropertyBag

Uma coleção de configurações de impressão.

punkViewControls
mshtml.IEnumUnknown

Um mshtml. Coleção IEnumUnknown de controles no modo de exibição.

Exemplos

No exemplo a seguir, o método Import da IInfoPathDataImporter interface é usado para iterar por meio do mshtml. Coleção IEnumUnknown de IInfoPathViewControl controles na exibição do formulário ativo.

A rotina de importação é a parte principal de uma solução usada para criar um importador de dados personalizado. O projeto do Visual Studio requer uma referência à Biblioteca de Tipos do Microsoft Office InfoPath 2.0 e System.Windows.Forms, com instruções Imports para cada um, bem como mshtml. As instruções de implementação são necessárias para gerar as assinaturas para os métodos fornecidos pelas interfaces personalizadas do importador de dados, incluindo IInfoPathDataImporter, IInfoPathDataImporterFields, IInfoPathViewControle IPropertyBag.

Observação: para criar um importador de dados personalizado usando uma biblioteca de classes .NET, verifique a caixa de seleção Registrar para COM na guia Compilar do editor de propriedades da classe.

Observação: para depurar um importador de dados personalizado, defina uma ação iniciar no Visual Studio para iniciar um programa externo e navegue até INFOPATH.EXE localizada em <drive>:\Arquivos de Programas\Microsoft Office\Office12\. Essa opção está disponível na guia Depuração do editor de propriedades da 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

Comentários

As seguintes configurações de impressão estão disponíveis por meio da IPropertyBag interface.

PageSizeO tamanho da página atual, como A4, B4, Letter.
TopMarginA margem superior do modo de exibição atual.
BottomMarginA margem inferior do modo de exibição atual.
LeftMarginA margem esquerda do modo de exibição atual.
RightMarginA margem direita da exibição atual.
MarginUnitsTypeAs unidades de medição de margem.

Para obter mais informações sobre a importação programática de dados para um formulário InfoPath, consulte o Portal do Desenvolvedor do InfoPathMicrosoft Office Developer Center.

Aplica-se a