Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Rappresenta un controllo presente nella visualizzazione.
Spazio dei nomi: Microsoft.Office.Interop.InfoPath
Assembly: Microsoft.Office.Interop.InfoPath (in microsoft.office.interop.infopath.dll)
Sintassi
<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
Osservazioni
L'interfaccia IInfoPathViewControl, utilizzata insieme all'interfaccia IInfoPathDataImporter, consente agli sviluppatori di ottenere informazioni specifiche sui controlli presenti nella visualizzazione, ad esempio ControlType e DataType, le posizioni Top e Left, il codice XML NodeName associato al controllo e InputScopes. La proprietà Value è l'unica che è possibile impostare.
Per l'elenco dei controlli enumerati nella visualizzazione, se presenti, vedere il metodo GetControls dell'interfaccia IInfoPathDataImporterFields. Per l'elenco dei tipi di dati che possono essere utilizzati con controlli specifici, vedere la proprietà Value dell'interfaccia IInfoPathViewControl.
Per ulteriori informazioni sull'importazione di dati a livello di programmazione in un modulo di InfoPath, vedere il Portale per sviluppatori di InfoPath in Microsoft Office Developer Center.
Esempio
Nell'esempio seguente, il metodo Import dell'interfaccia IInfoPathDataImporter viene utilizzato per eseguire un'iterazione nell'insieme mshtml.IEnumUnknown di controlli IInfoPathViewControl nella visualizzazione del modulo attivo.
La routine Import rappresenta l'elemento principale di una soluzione utilizzata per generare un'utilità di importazione personalizzata. Il progetto di Visual Studio richiede un riferimento alla Libreria dei tipi di Microsoft Office InfoPath 2.0 e a System.Windows.Forms, con istruzioni Imports per ciascuno di tali elementi e istruzioni mshtml.Implements per generare le firme dei metodi forniti dalle interfacce delle utilità di importazione personalizzate, con l'inclusione di IInfoPathDataImporter, IInfoPathDataImporterFields, IInfoPathViewControl e IPropertyBag.
Nota: |
|---|
Per creare un'utilità di importazione dati utilizzando una libreria delle classi .NET, selezionare la casella di controllo Registra per interoperabilità COM nella scheda Compilazione dell'editor delle proprietà delle classi. |
Nota: |
|---|
Per eseguire il debug di un'utilità di importazione dati personalizzata, impostare un'Azione di avvio in Visual Studio su Start an external program e selezionare INFOPATH.EXE in <drive>:\Program Files\Microsoft Office\Office12\. Questa opzione è disponibile nella scheda Debug dell'editor delle proprietà delle classi. |
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
Vedere anche
Riferimenti
Membri IInfoPathViewControl
Spazio dei nomi Microsoft.Office.Interop.InfoPath
Nota: