HtmlTaskPane.HtmlDocument, propriété
Obtient une référence à l'interface IHTMLDocument2 MSHTML pour travailler avec le modèle objet du document HTML d'un volet Office personnalisé.
Espace de noms : Microsoft.Office.InfoPath
Assembly : Microsoft.Office.InfoPath (dans Microsoft.Office.InfoPath.dll)
Syntaxe
'Déclaration
Public MustOverride ReadOnly Property HtmlDocument As Object
Get
'Utilisation
Dim instance As HtmlTaskPane
Dim value As Object
value = instance.HtmlDocument
public abstract Object HtmlDocument { get; }
Valeur de la propriété
Type : System.Object
Objet IHTMLDocument2 associé au fichier HTML du volet Office personnalisé.
Remarques
La propriété HtmlDocument vous permet d'appeler des fonctions de script contenues dans le code HTML du volet Office par le biais de la liaison tardive, comme dans le deuxième exemple ci-dessous. Vous pouvez également manipuler directement le code HTML du volet Office à l'aide de n'importe quelle propriété et méthode fournie par l'interface IHTMLDocument2.
Pour travailler avec l'objet IHTMLDocument2 renvoyé par la propriété HtmlDocument, vous devez ajouter une référence à Microsoft.mshtml sous l'onglet .NET de la boîte de dialogue Ajouter une référence dans Microsoft Visual Studio Tools for Applications. De plus, vous devez convertir l'objet renvoyé par la propriété HtmlDocument au type IHTMLDocument2 .
Ce membre est accessible uniquement par les formulaires qui s’exécutent dans le même domaine que le formulaire ouvert ou par les formulaires qui disposent d’autorisations valables pour plusieurs domaines.
Ce type ou ce membre est accessible uniquement à partir du code exécuté dans les formulaires ouverts dans Microsoft InfoPath Filler.
Exemples
Les exemples suivants supposent que vous avez une directive using mshtml; ou Imports mshtml dans la section des déclarations du fichier de code de votre formulaire.
Dans l'exemple suivant, la propriété HtmlDocument de la classe HtmlTaskPane est utilisée pour définir une référence à l'objet window HTML du volet Office personnalisé d'un formulaire en autorisation totale. Le code change ensuite la couleur d'arrière-plan du volet Office.
// 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"
Dans l'exemple suivant, la propriété HtmlDocument de la classe HtmlTaskPane est utilisée pour définir une référence à l'objet window HTML du volet Office personnalisé d'un formulaire avec autorisation totale. Le code appelle ensuite la fonction personnalisée TaskPaneSwitchView définie dans le code HTML du volet Office personnalisé.
// 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)