ControlCollection.AddRichTextContentControl, méthode (ContentControl, String)
Ajoute un nouveau RichTextContentControl basé sur un contrôle de contenu natif dans le document.
Espace de noms : Microsoft.Office.Tools.Word
Assembly : Microsoft.Office.Tools.Word (dans Microsoft.Office.Tools.Word.dll)
Syntaxe
'Déclaration
Function AddRichTextContentControl ( _
contentControl As ContentControl, _
name As String _
) As RichTextContentControl
RichTextContentControl AddRichTextContentControl(
ContentControl contentControl,
string name
)
Paramètres
- contentControl
Type : Microsoft.Office.Interop.Word.ContentControl
Microsoft.Office.Interop.Word.ContentControl qui est la base du nouveau contrôle.
- name
Type : System.String
Nom du nouveau contrôle.
Valeur de retour
Type : Microsoft.Office.Tools.Word.RichTextContentControl
RichTextContentControl ajouté au document.
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | contentControl a la valeur nullune référence null (Nothing en Visual Basic). ou name est nullune référence null (Nothing en Visual Basic) ou une longueur nulle. |
ControlNameAlreadyExistsException | Un contrôle du même nom figure déjà dans ControlCollection. |
ArgumentException | contentControl n'est pas une galerie de blocs de construction (à savoir la propriété Microsoft.Office.Interop.Word.ContentControl.Type de contentControl n'a pas la valeur Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlRichText). |
Notes
Utilisez cette méthode pour ajouter un nouveau RichTextContentControl basé sur un contrôle de contenu natif dans le document au moment de l'exécution.Cela est utile lorsque vous créez un RichTextContentControl au moment de l'exécution et que vous souhaitez recréer le même contrôle lors de la prochaine ouverture du document.Pour plus d'informations, consultez Ajout de contrôles à des documents Office au moment de l'exécution.
Exemples
L'exemple de code suivant crée un nouveau RichTextContentControl pour chaque contrôle de texte enrichi natif figurant dans le document.
Cette version est destinée à une personnalisation au niveau du document.Pour utiliser ce code, collez-le dans la classe ThisDocument de votre projet, puis appelez la méthode CreateRichTextControlsFromNativeControls à partir de la méthode ThisDocument_Startup.
Private richTextControls As New System.Collections.Generic.List _
(Of Microsoft.Office.Tools.Word.RichTextContentControl)
Private Sub CreateRichTextControlsFromNativeControls()
If Me.ContentControls.Count <= 0 Then
Return
End If
Dim count As Integer = 0
For Each nativeControl As Word.ContentControl In Me.ContentControls
If nativeControl.Type = Word.WdContentControlType.wdContentControlRichText Then
count += 1
Dim tempControl As Microsoft.Office.Tools.Word.RichTextContentControl = _
Me.Controls.AddRichTextContentControl(nativeControl, _
"VSTORichTextContentControl" + count.ToString())
richTextControls.Add(tempControl)
End If
Next nativeControl
End Sub
private System.Collections.Generic.List
<Microsoft.Office.Tools.Word.RichTextContentControl> richTextControls;
private void CreateRichTextControlsFromNativeControls()
{
if (this.ContentControls.Count <= 0)
return;
richTextControls = new System.Collections.Generic.List
<Microsoft.Office.Tools.Word.RichTextContentControl>();
int count = 0;
foreach (Word.ContentControl nativeControl in this.ContentControls)
{
if (nativeControl.Type ==
Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlRichText)
{
count++;
Microsoft.Office.Tools.Word.RichTextContentControl tempControl =
this.Controls.AddRichTextContentControl(nativeControl,
"VSTORichTextControl" + count.ToString());
richTextControls.Add(tempControl);
}
}
}
Cette version s'adresse un complément d'application qui cible .NET Framework 4 ou .NET Framework 4.5.Pour utiliser ce code, collez-le dans la classe ThisAddIn de votre projet, puis appelez la méthode CreateRichTextControlsFromNativeControls à partir de la méthode ThisAddIn_Startup.
Private richTextControls As New System.Collections.Generic.List _
(Of Microsoft.Office.Tools.Word.RichTextContentControl)
Private Sub CreateRichTextControlsFromNativeControls()
If Me.Application.ActiveDocument Is Nothing Then
Return
End If
Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
If vstoDoc.ContentControls.Count <= 0 Then
Return
End If
Dim count As Integer = 0
For Each nativeControl As Word.ContentControl In vstoDoc.ContentControls
If nativeControl.Type = Word.WdContentControlType.wdContentControlRichText Then
count += 1
Dim tempControl As Microsoft.Office.Tools.Word.RichTextContentControl = _
vstoDoc.Controls.AddRichTextContentControl(nativeControl, _
"VSTORichTextContentControl" + count.ToString())
richTextControls.Add(tempControl)
End If
Next nativeControl
End Sub
private System.Collections.Generic.List
<Microsoft.Office.Tools.Word.RichTextContentControl> richTextControls;
private void CreateRichTextControlsFromNativeControls()
{
if (this.Application.ActiveDocument == null)
return;
Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
if (vstoDoc.ContentControls.Count <= 0)
return;
richTextControls = new System.Collections.Generic.List
<Microsoft.Office.Tools.Word.RichTextContentControl>();
int count = 0;
foreach (Word.ContentControl nativeControl in vstoDoc.ContentControls)
{
if (nativeControl.Type ==
Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlRichText)
{
count++;
Microsoft.Office.Tools.Word.RichTextContentControl tempControl =
vstoDoc.Controls.AddRichTextContentControl(nativeControl,
"VSTORichTextControl" + count.ToString());
richTextControls.Add(tempControl);
}
}
}
L'exemple de code suivant crée un nouveau RichTextContentControl pour chaque contrôle de texte enrichi natif que l'utilisateur ajoute au document.
Cette version est destinée à une personnalisation au niveau du document.Pour utiliser ce code, collez-le dans la classe ThisDocument de votre projet.En C#, vous devez également attacher le gestionnaire d'événements ThisDocument_RichTextContentControlAfterAdd à l'événement ContentControlAfterAdd de la classe ThisDocument.
Private Sub ThisDocument_RichTextContentControlAfterAdd(ByVal NewContentControl As Word.ContentControl, _
ByVal InUndoRedo As Boolean) Handles Me.ContentControlAfterAdd
If NewContentControl.Type = Word.WdContentControlType.wdContentControlRichText Then
Me.Controls.AddRichTextContentControl(NewContentControl, _
"RichTextControl" + NewContentControl.ID)
End If
End Sub
void ThisDocument_RichTextContentControlAfterAdd(Word.ContentControl NewContentControl, bool InUndoRedo)
{
if (NewContentControl.Type == Word.WdContentControlType.wdContentControlRichText)
{
this.Controls.AddRichTextContentControl(NewContentControl,
"RichTextControl" + NewContentControl.ID);
}
}
Cette version s'adresse un complément d'application qui cible .NET Framework 4 ou .NET Framework 4.5.Pour utiliser ce code, collez-le dans la classe ThisAddIn de votre projet.Vous devez également attacher le gestionnaire d'événements ActiveDocument_RichTextContentControlAfterAdd à l'événement ContentControlAfterAdd du document actif.
Private Sub ActiveDocument_RichTextContentControlAfterAdd( _
ByVal NewContentControl As Word.ContentControl, _
ByVal InUndoRedo As Boolean)
Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
If NewContentControl.Type = Word.WdContentControlType. _
wdContentControlRichText Then
vstoDoc.Controls.AddRichTextContentControl(NewContentControl, _
"RichTextControl" + NewContentControl.ID)
End If
End Sub
void ActiveDocument_RichTextContentControlAfterAdd(
Word.ContentControl NewContentControl, bool InUndoRedo)
{
Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
if (NewContentControl.Type == Word.WdContentControlType.wdContentControlRichText)
{
vstoDoc.Controls.AddRichTextContentControl(NewContentControl,
"RichTextControl" + NewContentControl.ID);
}
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.
Voir aussi
Référence
AddRichTextContentControl, surcharge
Microsoft.Office.Tools.Word, espace de noms
Autres ressources
Ajout de contrôles à des documents Office au moment de l'exécution
Comment : ajouter des contrôles de contenu à des documents Word