Objeto TextFrame (Publisher)

Representa el marco de texto en un objeto Shape. Contiene el texto del marco de texto, así como las propiedades que controlan los márgenes y la orientación del marco de texto.

Comentarios

Utilice la propiedad Shape.TextFrame para devolver el objeto TextFrame de una forma.

La propiedad TextRange devuelve un objeto TextRange que representa el intervalo de texto dentro del marco de texto especificado.

Nota:

Algunas formas no admiten texto adjunto (líneas, formas libres, imágenes y objetos OLE, por ejemplo). Si trata de devolver o establecer las propiedades que controlen el texto de un marco de texto para estos objetos, se produce un error.

Marcos de texto pueden vincularse para que el texto fluya desde el marco de texto de una forma en el marco de texto de otra forma. Utilice el NextLinkedTextFrame y PreviousLinkedTextFrame propiedades para vincular marcos de texto.

Ejemplo:

En el siguiente ejemplo se agrega texto al marco de texto de la forma uno de la publicación activa y, a continuación, se da formato al texto nuevo.

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

Utilice la propiedad Shape.HasTextFrame para determinar si la forma tiene un marco de texto y use la propiedad HasText para determinar si el marco de texto contiene texto, como se muestra en el ejemplo siguiente.

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

En el ejemplo siguiente se crea un cuadro de texto (un rectángulo con un marco de texto) y se agrega texto. A continuación, se crea otro cuadro de texto y se vinculan los dos marcos de texto para que el texto fluya del primer marco de texto al segundo.

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

Métodos

Propiedades

Consulte también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.