Metoda ControlCollection.AddComboBoxContentControl — (ContentControl, String)
Dodaje nowy ComboBoxContentControl do kolekcji.Nowy formant jest oparty na macierzysty formant zawartości, który już znajduje się w dokumencie.
Przestrzeń nazw: Microsoft.Office.Tools.Word
Zestaw: Microsoft.Office.Tools.Word (w Microsoft.Office.Tools.Word.dll)
Składnia
'Deklaracja
Function AddComboBoxContentControl ( _
contentControl As ContentControl, _
name As String _
) As ComboBoxContentControl
ComboBoxContentControl AddComboBoxContentControl(
ContentControl contentControl,
string name
)
Parametry
- contentControl
Typ: Microsoft.Office.Interop.Word.ContentControl
Microsoft.Office.Interop.Word.ContentControl Czyli podstawą nowego formantu.
- name
Typ: System.String
Nazwa nowego formantu.
Wartość zwracana
Typ: Microsoft.Office.Tools.Word.ComboBoxContentControl
ComboBoxContentControl Do dokumentu dodano.
Wyjątki
Wyjątek | Warunek |
---|---|
ArgumentNullException | contentControl wynosi 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ż w ControlCollection. |
ArgumentException | contentControlnie jest galerii bloków konstrukcyjnych (to znaczy, Type właściwość contentControl nie ma wartości Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlComboBox). |
Uwagi
Ta metoda służy do dodawania nowego ComboBoxContentControl opartego na macierzystego formantu zawartości w dokumencie w czasie wykonywania.Jest to przydatne podczas tworzenia ComboBoxContentControl w czasie wykonywania, a chcesz odtworzyć tego samego formantu przy następnym otwarciu dokumentu.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 ComboBoxContentControl każdego pola kombi macierzystego, który już znajduje się w dokumencie.
Ta wersja jest dla dostosowania poziomu dokumentu.Aby użyć tego kodu, wklej go do ThisDocument klasy w projekcie i wywołanie CreateComboBoxControlsFromNativeControls metodę z ThisDocument_Startup metody.
Private comboBoxControls As New System.Collections.Generic.List _
(Of Microsoft.Office.Tools.Word.ComboBoxContentControl)
Private Sub CreateComboBoxControlsFromNativeControls()
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.wdContentControlComboBox Then
count += 1
Dim tempControl As Microsoft.Office.Tools.Word.ComboBoxContentControl = _
Me.Controls.AddComboBoxContentControl(nativeControl, _
"VSTOComboBoxContentControl" + count.ToString())
comboBoxControls.Add(tempControl)
End If
Next nativeControl
End Sub
private System.Collections.Generic.List
<Microsoft.Office.Tools.Word.ComboBoxContentControl> comboBoxControls;
private void CreateComboBoxControlsFromNativeControls()
{
if (this.ContentControls.Count <= 0)
return;
comboBoxControls = new System.Collections.Generic.List
<Microsoft.Office.Tools.Word.ComboBoxContentControl>();
int count = 0;
foreach (Word.ContentControl nativeControl in this.ContentControls)
{
if (nativeControl.Type == Word.WdContentControlType.wdContentControlComboBox)
{
count++;
Microsoft.Office.Tools.Word.ComboBoxContentControl tempControl =
this.Controls.AddComboBoxContentControl(nativeControl,
"VSTOComboBoxContentControl" + count.ToString());
comboBoxControls.Add(tempControl);
}
}
}
Ta wersja jest na poziomie aplikacji dodatek jest przeznaczony dla .NET Framework 4 lub .NET Framework 4.5.Aby użyć tego kodu, wklej go do ThisAddIn klasy w projekcie i wywołanie CreateComboBoxControlsFromNativeControls metodę z ThisAddIn_Startup metody.
Private comboBoxControls As New System.Collections.Generic.List _
(Of Microsoft.Office.Tools.Word.ComboBoxContentControl)
Private Sub CreateComboBoxControlsFromNativeControls()
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.wdContentControlComboBox Then
count += 1
Dim tempControl As Microsoft.Office.Tools.Word.ComboBoxContentControl = _
vstoDoc.Controls.AddComboBoxContentControl(nativeControl, _
"VSTOComboBoxContentControl" + count.ToString())
comboBoxControls.Add(tempControl)
End If
Next nativeControl
End Sub
private System.Collections.Generic.List
<Microsoft.Office.Tools.Word.ComboBoxContentControl> comboBoxControls;
private void CreateComboBoxControlsFromNativeControls()
{
if (this.Application.ActiveDocument == null)
return;
Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
if (vstoDoc.ContentControls.Count <= 0)
return;
comboBoxControls = new System.Collections.Generic.List
<Microsoft.Office.Tools.Word.ComboBoxContentControl>();
int count = 0;
foreach (Word.ContentControl nativeControl in vstoDoc.ContentControls)
{
if (nativeControl.Type == Word.WdContentControlType.wdContentControlComboBox)
{
count++;
Microsoft.Office.Tools.Word.ComboBoxContentControl tempControl =
vstoDoc.Controls.AddComboBoxContentControl(nativeControl,
"VSTOComboBoxContentControl" + count.ToString());
comboBoxControls.Add(tempControl);
}
}
}
Poniższy przykład kodu tworzy nowy ComboBoxContentControl dla każdego pole kombi macierzystych, które użytkownik dodaje do dokumentu.
Ta wersja jest dla dostosowania poziomu dokumentu.Aby użyć tego kodu, wklej go do ThisDocument klasy w projekcie.Język C#, należy również dołączyć ThisDocument_ComboBoxContentControlAfterAdd obsługi zdarzeń do ContentControlAfterAdd zdarzenia ThisDocument klasy.
Private Sub ThisDocument_ComboBoxContentControlAfterAdd(ByVal NewContentControl As Word.ContentControl, _
ByVal InUndoRedo As Boolean) Handles Me.ContentControlAfterAdd
If NewContentControl.Type = Word.WdContentControlType.wdContentControlComboBox Then
Me.Controls.AddComboBoxContentControl(NewContentControl, _
"ComboBoxControl" + NewContentControl.ID)
End If
End Sub
void ThisDocument_ComboBoxContentControlAfterAdd(Word.ContentControl NewContentControl, bool InUndoRedo)
{
if (NewContentControl.Type == Word.WdContentControlType.wdContentControlComboBox)
{
this.Controls.AddComboBoxContentControl(NewContentControl,
"ComboBoxControl" + NewContentControl.ID);
}
}
Ta wersja jest na poziomie aplikacji dodatek jest przeznaczony dla .NET Framework 4 lub .NET Framework 4.5.Aby użyć tego kodu, wklej go do ThisAddIn klasy w projekcie.Ponadto należy dołączyć ActiveDocument_ComboBoxContentControlAfterAdd obsługi zdarzeń do ContentControlAfterAdd zdarzeń aktywnego dokumentu.
Private Sub ActiveDocument_ComboBoxContentControlAfterAdd( _
ByVal NewContentControl As Word.ContentControl, _
ByVal InUndoRedo As Boolean)
Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
If NewContentControl.Type = Word.WdContentControlType. _
wdContentControlComboBox Then
vstoDoc.Controls.AddComboBoxContentControl(NewContentControl, _
"ComboBoxControl" + NewContentControl.ID)
End If
End Sub
void ActiveDocument_ComboBoxContentControlAfterAdd(
Word.ContentControl NewContentControl, bool InUndoRedo)
{
Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
if (NewContentControl.Type == Word.WdContentControlType.wdContentControlComboBox)
{
vstoDoc.Controls.AddComboBoxContentControl(NewContentControl,
"ComboBoxControl" + 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 Używanie bibliotek pochodzących z częściowo zaufanego kodu.
Zobacz też
Informacje
Przeciążenie AddComboBoxContentControl
Przestrzeń nazw Microsoft.Office.Tools.Word
Inne zasoby
Dodawanie formantów do dokumentów pakietu Office w czasie wykonywania
Porady: dodawanie formantów zawartości do dokumentów programu Word