IInfoPathDataImporter.Import(IPropertyBag, IEnumUnknown) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Importa datos en el formulario actual.
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
Colección de configuraciones de impresión.
- punkViewControls
- mshtml.IEnumUnknown
Un mshtml. Colección IEnumUnknown de controles en la vista.
Ejemplos
En el ejemplo siguiente, el método Import de la IInfoPathDataImporter interfaz se usa para recorrer en iteración el mshtml. Colección IEnumUnknown de IInfoPathViewControl controles en la vista del formulario activo.
La rutina Import es la parte principal de una solución que se usa para crear un importador de datos personalizado. El proyecto de Visual Studio requiere una referencia a la biblioteca de tipos de Microsoft Office InfoPath 2.0 y System.Windows.Forms, con instrucciones Imports para cada uno, así como mshtml. Las instrucciones implements son necesarias para generar las firmas de los métodos proporcionados por las interfaces de importador de datos personalizadas, como IInfoPathDataImporter, IInfoPathDataImporterFields, IInfoPathViewControly IPropertyBag.
Nota: Para crear un importador de datos personalizado mediante una biblioteca de clases .NET, active la casilla Registrar para interoperabilidad COM en la pestaña Compilar del editor de propiedades de clase.
Nota: Para depurar un importador de datos personalizado, establezca una acción iniciar en Visual Studio para iniciar un programa externo y vaya a INFOPATH.EXE ubicado en <drive>:\Archivos de programa\Microsoft Office\Office12\. Esta opción está disponible en la pestaña Depurar del editor de propiedades de clase.
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
Comentarios
La siguiente configuración de impresión está disponible a través de la IPropertyBag interfaz.
| PageSize | Tamaño de página actual, como A4, B4, Carta. |
| TopMargin | Margen superior de la vista actual. |
| BottomMargin | Margen inferior de la vista actual. |
| LeftMargin | Margen izquierdo de la vista actual. |
| RightMargin | Margen derecho de la vista actual. |
| MarginUnitsType | Unidades de medida de margen. |
Para obtener más información sobre cómo importar datos mediante programación en un formulario de InfoPath, consulte el Portal para desarrolladores de InfoPathDel Centro para desarrolladores de Microsoft Office.