IInfoPathDataImporter.Import(IPropertyBag, IEnumUnknown) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
<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
Comentários
As seguintes configurações de impressão estão disponíveis por meio da IPropertyBag interface.
PageSize | O tamanho da página atual, como A4, B4, Letter. |
TopMargin | A margem superior do modo de exibição atual. |
BottomMargin | A margem inferior do modo de exibição atual. |
LeftMargin | A margem esquerda do modo de exibição atual. |
RightMargin | A margem direita da exibição atual. |
MarginUnitsType | As 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.