RE: Problema para mover el cursor
Todavía no me funciona. Lo que me aportas es lo que genera la macro y lo pongo en mi aplicación con mi variable Object pero no funciona.
Si pongo exactamente lo que dices:
oWord.ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=15, NumColumns:=2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed
para que me cree la tabla me da un error que dice:
Error "91" en tiempo de ejecución
Variable de tipo Object o la variable de bloque With no está establecida.
En cambio si uso para crear la tabla, lo siguiente, me la crea bien.
oWord.Documents.Item(1).Tables.Add oWord.Application.Selection.Range, 15, 4
Aquí mando el código tal cual por si te es más fácil dar con el fallo:
Private Sub CrearInforme()
Dim oWord As Object
Dim oDoc As Object
Dim r1 As Variant
Dim strSql As String
Dim sumap1, sumaf1, sumapf1, T, i As Integer
Set oWord = CreateObject("Word.Application"
Set oDoc = oWord.Documents.Open(PathDatos + "Calendarios.doc"
T = 1
MostrarRecCal Este procedimiento busca los recursos
r1 = CambioTexto(oWord, " ", "<<Calendarios>>"

Situo el cursor
If Not rsTemporal9.EOF Then
rsTemporal9.MoveFirst
While Not rsTemporal9.EOF Para cada recurso crea una tabla
sumap1 = 0
oWord.Documents.Item(1).Tables.Add oWord.Application.Selection.Range, 15, 4
oWord.Documents.Item(1).Tables(T).Cell(1, 1).Range.Text = rsTemporal9!Recurso
oWord.Documents.Item(1).Tables(T).Cell(2, 2).Range.Text = "PÉ"
oWord.Documents.Item(1).Tables(T).Cell(2, 3).Range.Text = "FLOTE"
oWord.Documents.Item(1).Tables(T).Cell(2, 4).Range.Text = "PÉ/FLOTE"
oWord.Documents.Item(1).Tables(T).Cell(3, 1).Range.Text = "ENERO"
oWord.Documents.Item(1).Tables(T).Cell(4, 1).Range.Text = "FEBRERO"
oWord.Documents.Item(1).Tables(T).Cell(5, 1).Range.Text = "MARZO"
oWord.Documents.Item(1).Tables(T).Cell(6, 1).Range.Text = "ABRIL"
oWord.Documents.Item(1).Tables(T).Cell(7, 1).Range.Text = "MAIO"
oWord.Documents.Item(1).Tables(T).Cell(8, 1).Range.Text = "XUÑO"
oWord.Documents.Item(1).Tables(T).Cell(9, 1).Range.Text = "XULIO"
oWord.Documents.Item(1).Tables(T).Cell(10, 1).Range.Text = "AGOSTO"
oWord.Documents.Item(1).Tables(T).Cell(11, 1).Range.Text = "SEPTEMBRO"
oWord.Documents.Item(1).Tables(T).Cell(12, 1).Range.Text = "OUTUBRO"
oWord.Documents.Item(1).Tables(T).Cell(13, 1).Range.Text = "NOVEMBRO"
oWord.Documents.Item(1).Tables(T).Cell(14, 1).Range.Text = "DECEMBRO"
oWord.Documents.Item(1).Tables(T).Cell(15, 1).Range.Text = "TOTAL"
MostrarCalendario Recuperas los valores para ese recurso
If Not rsTemporal8.EOF Then
rsTemporal8.MoveFirst
For i = 3 To 14
oWord.Documents.Item(1).Tables(T).Cell(i, 3).Range.Text = rsTemporal8!Xornadas_Previstas
sumap1 = sumap1 + rsTemporal8!Xornadas_Previstas
rsTemporal8.MoveNext
Next
End If
oWord.Documents.Item(1).Tables(T).Cell(15, 3).Range.Text = sumap1
rsTemporal8.Close
rsTemporal9.MoveNext
T = T + 1
oWord.Selection.MoveDown Unit:=wdLine, Count:=15 **
oWord.Selection.TypeParagraph
oWord.Selection.TypeParagraph
Wend
End If
rsTemporal9.Close
oWord.Application.Visible = True
Set oDoc = Nothing
Set oWord = Nothing
End Sub
** Pues bien no consigo que me obedezca esta línea, entonces como no sale de la primera tabla cuando le mando construir la segunda lo que me hace es añadir filas a la primera tabla y entonces me da el error.
Muchas gracias</TR>