Clase TextColumns (Word VBA)
Para usar una variable de clase TextColumns, primero debe ser instanciado, por ejemplo
Dim tcs as TextColumns
Set tcs = ActiveDocument.PageSetup.TextColumns
For Each
A continuación, se muestra un ejemplo de cómo procesar los elementos TextColumns en una colección.
Dim tcn As TextColumn
For Each tcn In ActiveDocument.PageSetup.TextColumns
Next tcn
Add
Devuelve un objeto TextColumn que representa una nueva columna de texto agregada a una sección o documento.
Add (Width, Spacing, EvenlySpaced)
Set myDoc = Documents.Add
myDoc.PageSetup.TextColumns.Add Width:=InchesToPoints(2.5), _
Spacing:=InchesToPoints(0.5), EvenlySpaced:=False
Arguments
Optional arguments
Los siguientes argumentos son opcionales
Width (Long) - Ancho, en puntos, de la nueva columna de texto del documento.
Spacing (Long) - Espaciado, en puntos, entre las columnas de texto del documento.
EvenlySpaced (Boolean) - Ser true para espaciar uniformemente todas las columnas de texto en el documento.
Count
Devuelve un Long que representa el número de columnas de texto de la colección.
Dim lngCount As Long
lngCount = ActiveDocument.PageSetup.TextColumns.Count
EvenlySpaced
True si las columnas de texto tengan un espaciado uniforme.
La propiedad EvenlySpaced puede ser True, False o wdUndefined. Si se establece el Espaciado o la propiedad Width del objeto TextColumns, la propiedad EvenlySpaced se establece automáticamente en True.
Dim colTextColumns
Set colTextColumns = ActiveDocument.PageSetup.TextColumns
If colTextColumns.Count > 1 Then _
colTextColumns.EvenlySpaced = True
End If
FlowDirection
Devuelve o establece la dirección en que fluye el texto desde una columna de texto a la siguiente. Posibles valores de retorno son wdFlowLtr - El texto de las columnas fluye de izquierda a derecha, wdFlowRtl - El texto de las columnas fluye de derecha a izquierda.
ActiveDocument.PageSetup.TextColumns.FlowDirection = _
wdFlowRtl
Item
Devuelve un objeto TextColumn individual de una colección.
Item (Index)
Index: El objeto individual que se va a devolver.
Dim tcn As TextColumn
Set tcn = ActiveDocument.PageSetup.TextColumns(Index:=1)
LineBetween
True si aparecen líneas verticales entre todas las columnas de la colección TextColumns.
La propiedad LineBetween puede ser True, False o wdUndefined.
i = 1
For each s in ActiveDocument.Sections
If s.PageSetup.TextColumns.LineBetween = True Then
MsgBox "The columns in section " & i & " contain lines."
End If
i = i + 1
Next s
SetCount
Organiza el texto en el número de columnas de texto especificado.
También puede usar el método Add para agregar una sola columna a la colección TextColumns.
SetCount (NumColumns)
NumColumns: Número de columnas en las que se organizará el texto.
ActiveDocument.PageSetup.TextColumns.SetCount NumColumns:=2
Spacing
Devuelve o establece el espaciado (en puntos) entre columnas.
Una vez establecida esta propiedad para un objeto TextColumns , la propiedad EvenlySpaced se establece en true.
With ActiveDocument.PageSetup.TextColumns
.SetCount NumColumns:=2
.LineBetween = False
.EvenlySpaced = True
.Spacing = 36
End With
Width
Devuelve o establece el ancho de la Word art efectos de texto, en puntos.
ActiveDocument.PageSetup.TextColumns.Width =