Establecer anchos de columna coherentes en varias tablas (Microsoft Word)
Sheryl crea de forma rutinaria documentos que tienen muchas, muchas tablas.
Cada una de las tablas es coherente en el sentido de que tienen el mismo diseño general. (Cada uno contiene el mismo número de columnas y cada columna contiene el mismo tipo de información). Sheryl está buscando una manera de asegurarse de que los anchos de las columnas en todas las tablas sean consistentes.
La solución depende de cuándo necesite crear las tablas. Si el documento es nuevo, crear las tablas de manera coherente es bastante sencillo. Como se ha descrito en otros WordTips (y en los que no entraré aquí), puede guardar sus tablas estándar en una entrada de Autotexto o crear un estilo de tabla que defina cómo desea que aparezca su tabla. Cuando sea necesario, simplemente inserte la entrada de Autotexto o aplique el estilo, y la tabla aparecerá como desee.
La solución es un poco más complicada si su documento ya está creado y simplemente desea aplicar coherencia a las tablas que existen dentro del documento. En ese caso, la solución es usar una macro para cambiar el ancho de las columnas.
Es posible crear una macro que recorra rápidamente cada tabla en un documento y haga que cada columna de la tabla tenga el mismo ancho, de esta manera:
Sub SetColumnWidths1() Dim t As Table For Each t In ActiveDocument.Tables t.Columns.Width = InchesToPoints(2) Next t End Sub
Sin embargo, es muy probable que no desee que cada columna tenga 2 pulgadas de ancho. Probablemente desee que cada columna tenga un ancho específico, diferente de las otras columnas. La siguiente iteración de la macro maneja esa probabilidad:
Sub SetColumnWidths2() Dim t As Table For Each t In ActiveDocument.Tables t.Columns(1).Width = InchesToPoints(2) t.Columns(2).Width = InchesToPoints(2.5) t.Columns(3).Width = InchesToPoints(3) Next t End Sub
El inconveniente de tal macro es que necesita especificar, en la codificación, el ancho de cada columna. Además, si tiene una tabla anómala en su documento (no tiene el mismo número de columnas que todas las demás tablas), entonces la macro intenta alegremente establecer el ancho de las columnas.
Un mejor enfoque, entonces, puede ser tener una tabla «modelo» en su documento y luego configurar todas sus otras tablas para que usen los mismos anchos de columna que esa tabla. Un enfoque sencillo es formatear manualmente los anchos de columna de la primera tabla del documento, luego hacer que la macro examine esa tabla y la use como patrón para el resto de las columnas de la tabla.
Sub SetColumnWidths3() Dim t As Table Dim c As Column Dim ccnt As Integer Dim w() As Single Dim J As Integer Dim K As Integer Set t = ActiveDocument.Tables(1) ccnt = t.Columns.Count ReDim w(ccnt) J = 0 For Each c In t.Columns J = J + 1 w(J) = c.Width Next c For J = 2 To ActiveDocument.Tables.Count Set t = ActiveDocument.Tables(J) If t.Columns.Count = ccnt Then For K = 1 to ccnt t.Columns(K).Width = w(K) Next K Endif Next J End Sub
Esta macro examina el número de columnas en la primera tabla (asignando el valor a la variable ccnt) y luego mira el ancho de cada una de esas columnas (asignando los valores a la matriz w). Luego recorre el resto de las tablas del documento y, si el número de columnas de la tabla coincide con el número de la variable ccnt, establece el ancho de cada columna en el ancho almacenado en la matriz w. El resultado es que cada tabla en el documento (bueno, al menos aquellas que tienen el mismo número de columnas que la primera tabla) tienen el mismo ancho de columna.
Hay un problema potencial aquí: si las tablas en su documento usan celdas combinadas de alguna manera, podría estropear los resultados que obtiene. En ese caso, querrá guardar su documento antes de ejecutar la macro.
De esa manera, puede verificar los resultados, visualmente, y luego volver al documento guardado, si es necesario.
WordTips es su fuente de formación rentable en Microsoft Word.
(Microsoft Word es el software de procesamiento de texto más popular del mundo). Este consejo (11692) se aplica a Microsoft Word 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Word (Word 2007 y más tarde) aquí:
enlace: / wordribbon-Setting_Consistent_Column_Widths_in_Multiple_Tables [Establecer anchos de columna coherentes en varias tablas]
.