HtmlTaskPane.HtmlDocument-Eigenschaft
Ruft einen Verweis auf die MSHTML-IHTMLDocument2-Schnittstelle zum Arbeiten mit dem HTML-Dokumentobjektmodell eines benutzerdefinierten Aufgabenbereichs ab.
Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in Microsoft.Office.InfoPath.dll)
Syntax
'Declaration
Public MustOverride ReadOnly Property HtmlDocument As Object
Get
'Usage
Dim instance As HtmlTaskPane
Dim value As Object
value = instance.HtmlDocument
public abstract Object HtmlDocument { get; }
Eigenschaftswert
Typ: System.Object
Ein IHTMLDocument2-Objekt, das der HTML-Datei des benutzerdefinierten Aufgabenbereichs zugeordnet ist.
Hinweise
Mithilfe der HtmlDocument-Eigenschaft können Sie Skriptfunktionen im HTML-Code des Aufgabenbereichs über eine späte Bindung aufrufen, wie im zweiten Beispiel unten gezeigt wird. Außerdem können Sie den HTML-Code des Aufgabenbereichs mithilfe der Eigenschaften und Methoden, die die IHTMLDocument2-Schnittstelle bereitstellt, direkt bearbeiten.
Zum Arbeiten mit dem IHTMLDocument2-Objekt, das von der HtmlDocument-Eigenschaft zurückgegeben wird, müssen Sie auf der Registerkarte .NET des Dialogfelds Verweis hinzufügen in Microsoft Visual Studio Tools for Applications einen Verweis auf Microsoft.mshtml hinzufügen. Darüber hinaus müssen Sie das von der HtmlDocument-Eigenschaft zurückgegebene Objekt in den IHTMLDocument2 -Typ umwandeln.
Auf den Member kann nur über Formulare zugegriffen werden, die in derselben Domäne wie das zurzeit geöffnete Formular ausgeführt werden, oder über Formulare, denen domänenübergreifende Berechtigungen erteilt wurden.
Auf diesen Typ oder diesen Member kann nur über Code zugegriffen werden, der in Formularen ausgeführt wird, die mit Microsoft InfoPath Filler geöffnet wurden.
Beispiele
Bei den folgenden Beispielen wird davon ausgegangen, dass die Direktiven using mshtml; oder Imports mshtml sich im Deklarationsabschnitt der Formularcodedatei befinden.
Im folgenden Beispiel wird die HtmlDocument-Eigenschaft der HtmlTaskPane-Klasse verwendet, um einen Verweis auf das HTML-window-Objekt des benutzerdefinierten Aufgabenbereichs eines vollständig vertrauenswürdigen Formulars festzulegen. Anschließend ändert der Code die Hintergrundfarbe des benutzerdefinierten Aufgabenbereichs.
// Get a reference to the custom task pane. It is always index [0]
// in the TaskPanes collection.
HtmlTaskPane custom = (Microsoft.Office.InfoPath.HtmlTaskPane)
(this.CurrentView.Window.TaskPanes[0]);
// Get a reference to the custom task pane document and cast to
// the IHTMLDocument2 type.
IHTMLDocument2 oHTMLdoc = (IHTMLDocument2)(custom.HtmlDocument);
// Change custom task pane background color to red.
oHTMLdoc.bgColor = "red";
' Get a reference to the custom task pane. It is always index [0]
' in the TaskPanes collection.
Dim custom As HtmlTaskPane = DirectCast( _
Me.CurrentView.Window.TaskPanes(0), _
Microsoft.Office.InfoPath.HtmlTaskPane)
' Get a reference to the custom task pane document and cast to
' the IHTMLDocument2 type.
IHTMLDocument2 oHTMLdoc = _
DirectCast(custom.HtmlDocument,IHTMLDocument2)
' Change custom task pane background color to red.
oHTMLdoc.bgColor = "red"
Im folgenden Beispiel wird die HtmlDocument-Eigenschaft der HtmlTaskPane-Klasse verwendet, um einen Verweis auf das HTML-window-Objekt des benutzerdefinierten Aufgabenbereichs eines vollständig vertrauenswürdigen Formulars festzulegen. Anschließend ruft der Code die benutzerdefinierte Funktion TaskPaneSwitchView auf, die im HTML-Code des benutzerdefinierten Aufgabenbereichs definiert ist.
// Get a reference to the custom task pane. It is always index [0]
// in the TaskPanes collection.
HtmlTaskPane custom = (Microsoft.Office.InfoPath.HtmlTaskPane)
this.CurrentView.Window.TaskPanes[0];
// Get a reference to the custom task pane document.
IHTMLDocument2 oHTMLdoc = (IHTMLDocument2)custom.HtmlDocument;
// Get a reference to the parent window of the task pane.
IHTMLWindow2 window = (IHTMLWindow2)oHTMLdoc.parentWindow;
// Call into script through CLR late binding mechanism.
window.GetType().InvokeMember(
"TaskPaneSwitchView", // late bound method name.
System.Reflection.BindingFlags.InvokeMethod | // binding flags
System.Reflection.BindingFlags.DeclaredOnly |
System.Reflection.BindingFlags.Public |
System.Reflection.BindingFlags.Instance,
null, // binder object
window, // target object
null); // method arguments
' Get a reference to the custom task pane. It is always index (0)
' in the TaskPanes collection.
Dim custom As HtmlTaskPane = _
DirectCast(Me.CurrentView.Window.TaskPanes(0), _
Microsoft.Office.InfoPath.HtmlTaskPane)
' Get a reference to the custom task pane document.
Dim oHTMLdoc As IHTMLDocument2 = DirectCast(
custom.HtmlDocument, IHTMLDocument2)
' Get a reference to the parent window of the task pane.
Dim window As IHTMLWindow2 = DirectCast(oHTMLdoc.parentWindow, _
IHTMLWindow2
' Call into script through CLR late binding mechanism.
window.GetType().InvokeMember( _
"TaskPaneSwitchView", _
System.Reflection.BindingFlags.InvokeMethod Or _
System.Reflection.BindingFlags.DeclaredOnly Or _
System.Reflection.BindingFlags.Public Or _
System.Reflection.BindingFlags.Instance, _
Nothing, _
window, _
Nothing)