Clase Table (Word VBA)

La clase Table representa una sola tabla.

Los principales procedimientos de la clase Table son Delete, Select y Tables.Add

Set

Para usar una variable de clase Table, primero debe ser instanciado, por ejemplo

Dim tbl as Table
Set tbl = ActiveDocument.Tables(Index:=1)

Los siguientes procedimientos se pueden usar para establecer variables de clase Table : Range.ConvertToTable, Selection.ConvertToTable, Split, Tables.Add, Tables.Item, Cell.Tables, Document.Tables, Range.Tables, Range.TopLevelTables, Selection.Tables, Selection.TopLevelTables y Tables

For Each

A continuación, se muestra un ejemplo de cómo procesar los elementos Table en una colección.

Dim tbl As Table
For Each tbl In ActiveDocument.Tables
	
Next tbl

Temas

Algunos procedimientos de esta clase se han agrupado en temas y se describen en páginas temáticas separadas

Format with its procedures ApplyStyleColumnBands, ApplyStyleDirectFormatting, ApplyStyleFirstColumn, ApplyStyleHeadingRows, ApplyStyleLastColumn, ApplyStyleLastRow, ApplyStyleRowBands, AutoFormat, AutoFormatType, Borders, BottomPadding, LeftPadding, PreferredWidth, PreferredWidthType, RightPadding, Spacing, Style, TopPadding y UpdateAutoFormat
Sort/Order with its procedures Sort, SortAscending y SortDescending

Métodos

Los principales métodos de la clase Table son

Delete - Elimina la tabla especificada.

ActiveDocument.Tables(1).Delete

Select - Selecciona la tabla especificada.

ActiveDocument.Tables(1).Select

Tables.Add - Devuelve un objeto TABLE que representa una nueva tabla en blanco agregada a un documento.

Dim lngNumRows As Long: lngNumRows = 
Dim lngNumColumns As Long: lngNumColumns =  
Dim tbl As Table
Set tbl = ActiveDocument.Tables.Add(Range:=, NumRows:=lngNumRows, NumColumns:=lngNumColumns)

Otros Métodos

Cell - Devuelve un objeto Cell que representa una celda de una tabla.

Dim lngRow As Long: lngRow = 
Dim lngColumn As Long: lngColumn =  
Dim cll As Cell
Set cll = ActiveDocument.Tables(1).Cell(Row:=lngRow, Column:=lngColumn)

ConvertToText - Convierte una tabla en texto y devuelve un objeto Range que representa el texto delimitado.

Dim rngConvertToText As Range
Set rngConvertToText = ActiveDocument.Tables(1).ConvertToText()

Propiedades

AllowAutoFit Permite a Microsoft Word cambiar automáticamente el tamaño de las celdas de una tabla para ajustarlo al contenido.

ActiveDocument.Tables(1).AllowAutoFit = True

Columns Devuelve una colección Columns que representa todas las columnas de tabla de la tabla.

Dim clmsColumns As Columns
Set clmsColumns = ActiveDocument.Tables(1).Columns

Descr Devuelve o establece una cadena que contiene una descripción de la tabla especificada.

ActiveDocument.Tables(1).Descr =

ID Devuelve o establece la etiqueta de identificación de la tabla especificada cuando el documento se guarda como una página web.

ActiveDocument.Tables(1).ID =

NestingLevel Devuelve el nivel de anidamiento de la tabla especificada.

Dim lngNestingLevel As Long
lngNestingLevel = ActiveDocument.Tables(1).NestingLevel

Parent Devuelve un objeto Object que representa el objeto primario del objeto Table especificado.

Dim objParent As Object
Set objParent = ActiveDocument.Tables(1).Parent

Range Devuelve un objeto Range que representa la parte de un documento incluida en la tabla especificada.

Dim rngRange As Range
Set rngRange = ActiveDocument.Tables(1).Range

Rows Devuelve una colección Rows que representa todas las filas de tabla dentro de una tabla.

Dim rwsRows As Rows
Set rwsRows = ActiveDocument.Tables(1).Rows

Shading Devuelve un objeto shading que hace referencia al formato de sombreado del objeto especificado.

Dim shdShading As Shading
Set shdShading = ActiveDocument.Tables(1).Shading

TableDirection Devuelve o establece la dirección en que Microsoft Word ordena las celdas en la tabla especificada.

ActiveDocument.Tables(1).TableDirection = wdTableDirectionLtr

Tables Devuelve una colección tables que representa todas las tablas anidadas en la tabla especificada.

Dim tblsTables As Tables
Set tblsTables = ActiveDocument.Tables(1).Tables

Title Devuelve o establece una cadena que contiene un título para la tabla especificada.

ActiveDocument.Tables(1).Title =

Uniform True si todas las filas de una tabla tienen el mismo número de columnas.

Dim booUniform As Boolean
booUniform = ActiveDocument.Tables(1).Uniform

Tables.Count Devuelve un Long que representa el número de tablas de la colección.

Dim lngCount As Long
lngCount = ActiveDocument.Tables.Count

Tables.NestingLevel Devuelve el nivel de anidamiento de las tablas especificadas.

Dim lngNestingLevel As Long
lngNestingLevel = ActiveDocument.Tables.NestingLevel

Tables.Parent Devuelve un objeto Object que representa el objeto primario del objeto Tables especificado.

Dim objParent As Object
Set objParent = ActiveDocument.Tables.Parent