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
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