Share via


TextFrame-Objekt (Publisher)

Stellt den Textrahmen in einem Shape -Objekt dar. Enthält den Text im Textrahmen sowie die Eigenschaften, durch die die Ränder und die Ausrichtung des Textrahmens gesteuert werden.

HinwBemerkungeneise

Verwenden Sie die Shape.TextFrame-Eigenschaft , um das TextFrame-Objekt für eine Form zurückzugeben.

Die TextRange-Eigenschaft gibt ein TextRange-Objekt zurück, das den Textbereich innerhalb des angegebenen Textrahmens darstellt.

Hinweis

Einige Formen unterstützen keinen angefügten Text (z. B. Linien, Freihandformen, Bilder und OLE-Objekte). Wenn Sie versuchen, Eigenschaften zum Steuern von Text in Textrahmen für diese Objekte festzulegen oder zurückzugeben, tritt ein Fehler auf.

Textrahmen können miteinander verknüpft werden, sodass der Text aus dem Textrahmen der einen Form in den Textrahmen einer anderen Form fließt. Verwenden Sie die NextLinkedTextFrame und PreviousLinkedTextFrame Eigenschaften, um Textrahmen zu verknüpfen.

Beispiel

Das folgende Beispiel fügt Text zu dem Textrahmen von Form 1 in der aktiven Publikation hinzu und formatiert dann den neuen Text.

Sub AddTextToTextFrame() 
 With ActiveDocument.Pages(1).Shapes(1).TextFrame.TextRange 
 .Text = "My Text" 
 With .Font 
 .Bold = msoTrue 
 .Size = 25 
 .Name = "Arial" 
 End With 
 End With 
End Sub

Verwenden Sie die Shape.HasTextFrame-Eigenschaft , um zu bestimmen, ob die Form über einen Textrahmen verfügt, und verwenden Sie die HasText-Eigenschaft , um zu bestimmen, ob der Textrahmen Text enthält, wie im folgenden Beispiel gezeigt.

Sub GetTextFromTextFrame() 
 Dim shpText As Shape 
 
 For Each shpText In ActiveDocument.Pages(1).Shapes 
 If shpText.HasTextFrame = msoTrue Then 
 With shpText.TextFrame 
 If .HasText Then MsgBox .TextRange.Text 
 End With 
 End If 
 Next 
End Sub

Im folgenden Beispiel wird ein Textfeld (ein Rechteck mit einem Textrahmen) erstellt und Text hinzugefügt. Klicken Sie dann ein anderes Textfeld erstellt, und die beiden Textrahmen miteinander verknüpft, sodass der Text aus dem ersten Textrahmen in den zweiten fließt.

Sub LinkTextBoxes() 
 Dim shpTextBox1 As Shape 
 Dim shpTextBox2 As Shape 
 
 Set shpTextBox1 = ActiveDocument.Pages(1).Shapes.AddTextbox _ 
 (msoTextOrientationHorizontal, 72, 72, 72, 36) 
 shpTextBox1.TextFrame.TextRange.Text = _ 
 "This is some text. This is some more text." 
 
 Set shpTextBox2 = ActiveDocument.Pages(1).Shapes.AddTextbox _ 
 (msoTextOrientationHorizontal, 72, 144, 72, 36) 
 shpTextBox1.TextFrame.NextLinkedTextFrame = shpTextBox2 _ 
 .TextFrame 
End Sub

Methoden

Eigenschaften

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.