Metoda ControlCollection.AddGroupContentControl — (ContentControl, String)
Dodano nowy GroupContentControl opartego na macierzystego formantu zawartości w dokumencie.
Przestrzeń nazw: Microsoft.Office.Tools.Word
Zestaw: Microsoft.Office.Tools.Word (w Microsoft.Office.Tools.Word.dll)
Składnia
'Deklaracja
Function AddGroupContentControl ( _
contentControl As ContentControl, _
name As String _
) As GroupContentControl
GroupContentControl AddGroupContentControl(
ContentControl contentControl,
string name
)
Parametry
- contentControl
Typ: Microsoft.Office.Interop.Word.ContentControl
Microsoft.Office.Interop.Word.ContentControl Oznacza to podstawa dla nowego formantu.
- name
Typ: System.String
Nazwa nowego formantu.
Wartość zwracana
Typ: Microsoft.Office.Tools.Word.GroupContentControl
GroupContentControl Który został dodany do dokumentu.
Wyjątki
Wyjątek | Warunek |
---|---|
ArgumentNullException | contentControlis nullodwołanie o wartości null (Nothing w języku Visual Basic). -lub- namejest nullodwołanie o wartości null (Nothing w języku Visual Basic) lub ma zerową długość. |
ControlNameAlreadyExistsException | Formant o tej samej nazwie jest już pod ControlCollection. |
ArgumentException | contentControlnie jest galerii bloków konstrukcyjnych (to znaczy Type właściwość contentControl ma wartość Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlGroup). |
Uwagi
Metoda ta pozwala dodać nowy GroupContentControl opartego na macierzystego formantu zawartości w dokumencie w czasie wykonywania.Jest to przydatne podczas tworzenia GroupContentControl w czasie wykonywania, a użytkownik chce odtworzyć przy następnym otwarciu dokumentu w tym samym formancie.Aby uzyskać więcej informacji, zobacz Dodawanie formantów do dokumentów pakietu Office w czasie wykonywania.
Przykłady
Poniższy przykład kodu tworzy nowy GroupContentControl dla każdego formantu macierzystym grupy, który znajduje się w dokumencie.
Ta wersja jest dostosowywanie poziomie dokumentu.Aby użyć tego kodu, wklej go do ThisDocument klasy w projekcie, a wywołanie CreateGroupControlsFromNativeControls metodę z ThisDocument_Startup metoda.
Private groupControls As New System.Collections.Generic.List _
(Of Microsoft.Office.Tools.Word.GroupContentControl)
Private Sub CreateGroupControlsFromNativeControls()
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.wdContentControlGroup Then
count += 1
Dim tempControl As Microsoft.Office.Tools.Word.GroupContentControl = _
Me.Controls.AddGroupContentControl(nativeControl, _
"VSTOGroupContentControl" + count.ToString())
groupControls.Add(tempControl)
End If
Next nativeControl
End Sub
private System.Collections.Generic.List
<Microsoft.Office.Tools.Word.GroupContentControl> groupControls;
private void CreateGroupControlsFromNativeControls()
{
if (this.ContentControls.Count <= 0)
return;
groupControls = new System.Collections.Generic.List
<Microsoft.Office.Tools.Word.GroupContentControl>();
int count = 0;
foreach (Word.ContentControl nativeControl in this.ContentControls)
{
if (nativeControl.Type == Word.WdContentControlType.wdContentControlGroup)
{
count++;
Microsoft.Office.Tools.Word.GroupContentControl tempControl =
this.Controls.AddGroupContentControl(nativeControl,
"VSTOGroupControl" + count.ToString());
groupControls.Add(tempControl);
}
}
}
Ta wersja jest na poziomie aplikacji dodatek programu rozprzestrzeniającym się .NET Framework 4 lub .NET Framework 4.5.Aby użyć tego kodu, wklej go do ThisAddIn klasy w projekcie, a wywołanie CreateGroupControlsFromNativeControls metodę z ThisAddIn_Startup metoda.
Private groupControls As New System.Collections.Generic.List _
(Of Microsoft.Office.Tools.Word.GroupContentControl)
Private Sub CreateGroupControlsFromNativeControls()
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.wdContentControlGroup Then
count += 1
Dim tempControl As Microsoft.Office.Tools.Word.GroupContentControl = _
vstoDoc.Controls.AddGroupContentControl(nativeControl, _
"VSTOGroupContentControl" + count.ToString())
groupControls.Add(tempControl)
End If
Next nativeControl
End Sub
private System.Collections.Generic.List
<Microsoft.Office.Tools.Word.GroupContentControl> groupControls;
private void CreateGroupControlsFromNativeControls()
{
if (this.Application.ActiveDocument == null)
return;
Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
if (vstoDoc.ContentControls.Count <= 0)
return;
groupControls = new System.Collections.Generic.List
<Microsoft.Office.Tools.Word.GroupContentControl>();
int count = 0;
foreach (Word.ContentControl nativeControl in vstoDoc.ContentControls)
{
if (nativeControl.Type == Word.WdContentControlType.wdContentControlGroup)
{
count++;
Microsoft.Office.Tools.Word.GroupContentControl tempControl =
vstoDoc.Controls.AddGroupContentControl(nativeControl,
"VSTOGroupControl" + count.ToString());
groupControls.Add(tempControl);
}
}
}
Poniższy przykład kodu tworzy nowy GroupContentControl dla każdego formantu macierzystym grupy, który użytkownik dodaje do dokumentu.
Ta wersja jest dostosowywanie poziomie dokumentu.Aby użyć tego kodu, wklej go do ThisDocument klasy do projektu.Język C#, należy ponadto dołączyć ThisDocument_GroupContentControlAfterAdd Obsługa zdarzeń do ContentControlAfterAdd przypadku ThisDocument klasy.
Private Sub ThisDocument_GroupContentControlAfterAdd(ByVal NewContentControl As Word.ContentControl, _
ByVal InUndoRedo As Boolean) Handles Me.ContentControlAfterAdd
If NewContentControl.Type = Word.WdContentControlType.wdContentControlGroup Then
Me.Controls.AddGroupContentControl(NewContentControl, _
"GroupControl" + NewContentControl.ID)
End If
End Sub
void ThisDocument_GroupContentControlAfterAdd(Word.ContentControl NewContentControl, bool InUndoRedo)
{
if (NewContentControl.Type == Word.WdContentControlType.wdContentControlGroup)
{
this.Controls.AddGroupContentControl(NewContentControl,
"GroupControl" + NewContentControl.ID);
}
}
Ta wersja jest na poziomie aplikacji dodatek programu rozprzestrzeniającym się .NET Framework 4 lub .NET Framework 4.5.Aby użyć tego kodu, wklej go do ThisAddIn klasy do projektu.Ponadto należy dołączyć ActiveDocument_GroupContentControlAfterAdd Obsługa zdarzeń do ContentControlAfterAdd zdarzeń aktywnego dokumentu.
Private Sub ActiveDocument_GroupContentControlAfterAdd( _
ByVal NewContentControl As Word.ContentControl, _
ByVal InUndoRedo As Boolean)
Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
If NewContentControl.Type = Word.WdContentControlType. _
wdContentControlGroup Then
vstoDoc.Controls.AddGroupContentControl(NewContentControl, _
"GroupControl" + NewContentControl.ID)
End If
End Sub
void ActiveDocument_GroupContentControlAfterAdd(
Word.ContentControl NewContentControl, bool InUndoRedo)
{
Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
if (NewContentControl.Type == Word.WdContentControlType.wdContentControlGroup)
{
vstoDoc.Controls.AddGroupContentControl(NewContentControl,
"GroupControl" + NewContentControl.ID);
}
}
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Przy użyciu bibliotek z częściowo zaufanego kodu..
Zobacz też
Informacje
Przeciążenie AddGroupContentControl
Przestrzeń nazw Microsoft.Office.Tools.Word
Inne zasoby
Dodawanie formantów do dokumentów pakietu Office w czasie wykonywania
Jak: dodawanie formantów zawartości do dokumentów programu Word