Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stellt ein Steuerelement dar, das in der Ansicht vorhanden ist.
Namespace: Microsoft.Office.Interop.InfoPath
Assembly: Microsoft.Office.Interop.InfoPath (in microsoft.office.interop.infopath.dll)
Syntax
<TypeLibTypeAttribute(384)> _
<ComConversionLossAttribute> _
<GuidAttribute("096CD6DA-0786-11D1-95FA-0080C78EE3BB")> _
<InterfaceTypeAttribute(1)> _
Public Interface IInfoPathViewControl
Dim instance As IInfoPathViewControl
[TypeLibTypeAttribute(384)]
[ComConversionLossAttribute]
[GuidAttribute("096CD6DA-0786-11D1-95FA-0080C78EE3BB")]
[InterfaceTypeAttribute(1)]
public interface IInfoPathViewControl
Hinweise
Die IInfoPathViewControl-Schnittstelle ermöglicht es Entwicklern in Verbindung mit der IInfoPathDataImporter-Schnittstelle, bestimmte Informationen zu den Steuerelementen in der Ansicht abzurufen, z. B. ControlType und DataType, die Positionen Top und Left, der dem Steuerelement zugeordnete XML-Knotenname NodeName und InputScopes. Die Value-Eigenschaft ist die einzige Eigenschaft, die festgelegt werden kann.
Eine Liste der in der Ansicht aufgezählten Steuerelemente (sofern vorhanden) finden Sie in der Beschreibung der GetControls-Methode der IInfoPathDataImporterFields-Schnittstelle. Ein Liste der zulässigen Datentypen, die bei bestimmten Steuerelementen verwendet werden können, finden Sie in der Beschreibung der Value-Eigenschaft der IInfoPathViewControl-Schnittstelle.
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.
Hinweis: |
|---|
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. |
Hinweis: |
|---|
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
IInfoPathViewControl-Member
Microsoft.Office.Interop.InfoPath-Namespace
Hinweis: