Macros de Word VBA: tablas: agregar, seleccionar, repetir, insertar desde Excel

Agregar tabla a un documento de Word

Esta simple macro agregará una tabla a su documento de Word:

Sub VerySimpleTableAdd () Dim oTable As Table Set oTable = ActiveDocument.Tables.Add (Rango: = Selection.Range, NumRows: = 3, NumColumns: = 3) End Sub

Seleccionar tabla en Word

Esta macro seleccionará la primera tabla en el documento de Word activo:

Sub SelectTable () 'selecciona la primera tabla en el documento activo If ActiveDocument.Tables.Count> 0 Then' para evitar errores, verificamos si existe alguna tabla en el documento activo ActiveDocument.Tables (1) .Seleccione End If End Sub

Recorrer todas las celdas de una tabla

Esta macro de VBA recorrerá todas las celdas de una tabla, escribiendo el recuento de celdas en la celda:

Sub TableCycling () 'recorre todas las celdas de la tabla Dim nCounter As Long' esto se escribirá en todas las celdas de la tabla Dim oTable As Table Dim oRow As Row Dim oCell As Cell ActiveDocument.Range.InsertParagraphAfter 'simplemente crea un nuevo parámetro al final del documento , La tabla se creará aquí Establecer oTable = ActiveDocument.Tables.Add (Range: = ActiveDocument.Paragraphs.Last.Range, NumRows: = 3, NumColumns: = 3) 'cree la tabla y asígnela a la variable Para cada oRow en oTable. El bucle externo de las filas pasa por las filas Para cada oCell In oRow El bucle interno de las celdas va nCounter = nCounter + 1 'aumenta el contador oCell.Range.Text = nCounter' escribe el contador en la celda Siguiente oCell Next oRow 'muestra el resultado de la celda de segunda columna en la segunda fila Dim strTemp As String strTemp = oTable.Cell (2, 2) .Range.Text MsgBox strTemp End Sub

Crear una tabla de Word desde un archivo de Excel

Este ejemplo de VBA creará una tabla a partir de un archivo de Excel:

Sub MakeTablefromExcelFile () 'Advanced Dim oExcelApp, oExcelWorkbook, oExcelWorksheet, oExcelRange Dim nNumOfRows As Long Dim nNumOfCols As Long Dim strFile As String Dim oTable As Table' word table Dim oRow As Row 'word row Dim oCell as Cell' word table cell Contador de bucles As Long, y As Long 'strFile = "c: \ Users \ Nenad \ Desktop \ BookSample.xlsx"' cambiar a la ruta real Establecer oExcelApp = CreateObject ("Excel.Application") oExcelApp.Visible = True Set oExcelWorkbook = oExcelApp. Count nNumOfCols = oExcelRange.Columns.Count ActiveDocument.Range.InsertParagraphAfter 'simplemente crea un nuevo parámetro al final del documento, la tabla se creará aquí Set oTable = ActiveDocument.Tables.Add (Range: = ActiveDocument.Paragraphs.Last.Range, NumRows: = nNumOfRows, NumColumns: = nNumOfCols) 'creat e y asignarla a la variable '*** negocio real, la tabla se llena aquí Para x = 1 Para nNumOfRows Para y = 1 Para nNumOfCols oTable.Cell (x, y) .Range.Text = oExcelRange.Cells (x, y ) .Value Next y Next x '*** oExcelWorkbook.Close False oExcelApp.Quit Con oTable.Rows (1) .Range' ahora podemos aplicar algo de belleza a nuestra mesa :) .Shading.Texture = wdTextureNone .Shading.ForegroundPatternColor = wdColorAutomatic .Shading.BackgroundPatternColor = wdColorYellow End With End Sub

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave