DocumentBase.SelectLinkedControls-Methode
Gibt alle Inhaltssteuerelemente im Dokument zurück, die mit dem angegebenen benutzerdefinierten XML-Knoten verknüpft sind.
Namespace: Microsoft.Office.Tools.Word
Assembly: Microsoft.Office.Tools.Word.v4.0.Utilities (in Microsoft.Office.Tools.Word.v4.0.Utilities.dll)
Syntax
'Declaration
Public Function SelectLinkedControls ( _
node As CustomXMLNode _
) As ContentControls
public ContentControls SelectLinkedControls(
CustomXMLNode node
)
Parameter
- node
Typ: Microsoft.Office.Core.CustomXMLNode
Der CustomXMLNode, mit dem die Steuerelemente verknüpft sind.
Rückgabewert
Typ: Microsoft.Office.Interop.Word.ContentControls
Eine ContentControls-Auflistung, die die mit dem angegebenen benutzerdefinierten XML-Knoten verknüpften Inhaltssteuerelemente beinhaltet.
Beispiele
Im folgenden Codebeispiel werden dem aktuellen Dokument drei Nur-Text-Inhaltssteuerelemente hinzugefügt. Weiterhin wird im Beispiel ein CustomXMLPart hinzugefügt, das Mitarbeiterdaten enthält, und zwei der Steuerelemente werden mit XML-Knoten im CustomXMLPart verknüpft. Anschließend werden im Code die Steuerelemente aufgerufen, die mit dem Mitarbeiternamensknoten verknüpft sind. Es wird ein Meldungsfeld mit der Anzahl der vorhandenen verknüpften Steuerelemente anzeigt, und schließlich werden die verknüpften Steuerelemente durchlaufen, um den Titel jedes verknüpften Steuerelements anzuzeigen. Wenn Sie diesen Code ausführen, sollte ein verknüpftes Steuerelement mit dem Titel Employee Nameangezeigt werden. Wenn Sie dieses Beispiel verwenden möchten, führen Sie es von der ThisDocument-Klasse in einem Projekt auf Dokumentebene aus.
Private Sub LinkedControls()
Me.Paragraphs.Last.Range.InsertParagraphAfter()
Dim employeeName As Microsoft.Office.Tools.Word.PlainTextContentControl _
= Me.Controls.AddPlainTextContentControl(Me.Paragraphs.Last.Range, _
"employeeName")
employeeName.Title = "Employee Name"
Me.Paragraphs.Last.Range.InsertParagraphAfter()
Dim employeeHireDate As _
Microsoft.Office.Tools.Word.PlainTextContentControl = _
Me.Controls.AddPlainTextContentControl(Me.Paragraphs.Last.Range, _
"employeeHireDate")
employeeHireDate.Title = "Employee Hire Date"
Me.Paragraphs.Last.Range.InsertParagraphAfter()
Dim comments As Microsoft.Office.Tools.Word.PlainTextContentControl _
= Me.Controls.AddPlainTextContentControl(Me.Paragraphs.Last.Range, _
"comments")
comments.Title = "Comments"
Dim xmlString As String = _
"<?xml version=""1.0"" encoding=""utf-8"" ?>" _
+ "<employees>" _
+ "<employee>" _
+ "<name>Karina Leal</name>" _
+ "<hireDate>1999-04-01</hireDate>" _
+ "</employee>" _
+ "</employees>"
Dim employeeXMLPart As Office.CustomXMLPart = _
Me.CustomXMLParts.Add(xmlString)
employeeName.XMLMapping.SetMapping("/employees/employee/name")
employeeHireDate.XMLMapping.SetMapping("/employees/employee/hireDate")
Dim node As Office.CustomXMLNode = employeeXMLPart.SelectSingleNode( _
"/employees[1]/employee[1]/name[1]")
Dim linkedControls As Word.ContentControls = Me.SelectLinkedControls(node)
MessageBox.Show("Number of controls linked to the " + node.XPath _
+ " node: " + linkedControls.Count.ToString())
For Each linkedControl As Word.ContentControl In linkedControls
MessageBox.Show("Linked control title: " + linkedControl.Title)
Next
End Sub
private void LinkedControls()
{
this.Paragraphs.Last.Range.InsertParagraphAfter();
Microsoft.Office.Tools.Word.PlainTextContentControl employeeName =
this.Controls.AddPlainTextContentControl(this.Paragraphs.Last.Range,
"employeeName");
employeeName.Title = "Employee Name";
this.Paragraphs.Last.Range.InsertParagraphAfter();
Microsoft.Office.Tools.Word.PlainTextContentControl employeeHireDate =
this.Controls.AddPlainTextContentControl(this.Paragraphs.Last.Range,
"employeeHireDate");
employeeHireDate.Title = "Employee Hire Date";
this.Paragraphs.Last.Range.InsertParagraphAfter();
Microsoft.Office.Tools.Word.PlainTextContentControl comments =
this.Controls.AddPlainTextContentControl(this.Paragraphs.Last.Range,
"comments");
comments.Title = "Comments";
string xmlString =
"<?xml version=\"1.0\" encoding=\"utf-8\" ?>"
+ "<employees>"
+ "<employee>"
+ "<name>Karina Leal</name>"
+ "<hireDate>1999-04-01</hireDate>"
+ "</employee>"
+ "</employees>";
Office.CustomXMLPart employeeXMLPart =
this.CustomXMLParts.Add(xmlString, missing);
employeeName.XMLMapping.SetMapping(
"/employees/employee/name", "", employeeXMLPart);
employeeHireDate.XMLMapping.SetMapping(
"/employees/employee/hireDate", "", employeeXMLPart);
Office.CustomXMLNode node = employeeXMLPart.SelectSingleNode(
"/employees[1]/employee[1]/name[1]");
Word.ContentControls linkedControls = this.SelectLinkedControls(node);
MessageBox.Show("Number of controls linked to the " + node.XPath
+ " node: " + linkedControls.Count.ToString());
foreach (Word.ContentControl linkedControl in linkedControls)
{
MessageBox.Show("Linked control title: " + linkedControl.Title);
}
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.