una tipos teclado tablas tabla insertar filas estilos dentro con como columnas celda excel vba excel-vba ms-word

excel - tipos - insertar filas y columnas en word 2013



¿Cómo agregar filas a una tabla de Word fusionada? (1)

Así es como se ve la mesa.

Código:

Sub WordTableTester() Dim CurrentTable As table Dim wdDoc As Document Dim Rw As Long, col As Long Dim wdFileName wdFileName = Application.GetOpenFilename("Word files (*.docx),*.docx", , "Please choose a file containing requirements to be imported") If wdFileName = False Then Exit Sub ''(user cancelled import file browser) Set wdDoc = GetObject(wdFileName) ''open Word file With wdDoc Set CurrentTable = wdDoc.Tables(1) Rw = 9: col = CurrentTable.Columns.Count wdDoc.Range(CurrentTable.Cell(Rw, 1).Range.start, _ CurrentTable.Cell(Rw, col).Range.start).Select wdDoc.Application.Selection.InsertRowsBelow End With End Sub

Cuando ejecuto esto, Run-Time error ''5941'': The requested member of the collection does not exist. un mensaje de error: Run-Time error ''5941'': The requested member of the collection does not exist.

Nota: Estoy ejecutando una macro de Excel VBA e importando / agregando filas a una tabla en un documento de Word


Trabajar con filas combinadas en MS Word Table es un poco complicado.

¿Es esto lo que quieres?

Sub Sample() Dim CurrentTable As Table Dim wdDoc As Document Dim Rw As Long, col As Long Set wdDoc = ActiveDocument ''<~~ Created this for testing Set CurrentTable = wdDoc.Tables(1) Rw = 9: col = CurrentTable.Columns.Count wdDoc.Range(CurrentTable.Cell(Rw, 1).Range.Start, _ CurrentTable.Cell(Rw, col).Range.Start).Select wdDoc.Application.Selection.InsertRowsBelow End Sub

Captura de pantalla

Editar

El formato de tu mesa está completamente estropeado. La tabla se creó con pocas filas y luego las celdas se fusionaron / dividieron para crear nuevas filas y, por lo tanto, recibía el error. Además, ya que está automatizando la palabra de Excel, lo recomendaría de la siguiente manera.

Prueba esto

Sub WordTableTester() Dim oWordApp As Object, oWordDoc As Object, CurrentTable As Object Dim flName As Variant Dim Rw As Long, col As Long flName = Application.GetOpenFilename("Word files (*.docx),*.docx", _ , "Please choose a file containing requirements to be imported") If flName = False Then Exit Sub Set oWordApp = CreateObject("Word.Application") oWordApp.Visible = True Set oWordDoc = oWordApp.Documents.Open(flName) Set CurrentTable = oWordDoc.Tables(1) Rw = 7: col = CurrentTable.Columns.Count oWordDoc.Range(CurrentTable.Cell(Rw, 1).Range.Start, _ CurrentTable.Cell(Rw, col).Range.Start).Select oWordDoc.Application.Selection.InsertRowsBelow End Sub