copiar tabla excel en un sitio específico de un documento word ya creado
publicado
SOS, estoy desesperada leyendo y leyendo en mil paginas y no consigo resolver mi duda. Tengo un documento word que utilizo a modo plantilla (pero es .doc) y en excel tengo un botón que al presionar quiero que copie el documento word, le cambie el nombre y escriba los valores de ciertas celdas en un sitio determinado.
Todo me funciona ok con marcadores de word, excepto para poner una tabla excel en un sitio determinado del word. Este es el código que tengo. nGracias por la ayuda porque de verdad ya no se que hacer.
SOS, estoy desesperada leyendo y leyendo en mil paginas y no consigo resolver mi duda. Tengo un documento word que utilizo a modo plantilla (pero es .doc) y en excel tengo un botón que al presionar quiero que copie el documento word, le cambie el nombre y escriba los valores de ciertas celdas en un sitio determinado.
Todo me funciona ok con marcadores de word, excepto para poner una tabla excel en un sitio determinado del word. Este es el código que tengo. nGracias por la ayuda porque de verdad ya no se que hacer.
muchísimas gracias!!!
Private Sub boton1_Click()
Dim aDOC As Object
Dim varA As String, fs As Object
Dim fichero As String
vruta_0 = "c:\prueba\"
vruta_f = "c:\prueba\final\"
varA = "prueba_word"
varb = vruta_0 & varA & ".doc"
fichero = vruta_f & varA & "_" & Worksheets("Instrumento").Range("B23") & ".doc"
'copio el fichero word original en la ruta destino y le cambio el nombre
Set fs = CreateObject("Scripting.FileSystemObject")
fs.copyfile varb, fichero, True
Set aDOC = Nothing
Set aDOC = GetObject(fichero)
' reemplazo los marcadores de word por valores de celdas de excel. Esto funciona oK
With aDOC.Bookmarks
.Item("NUMEROpedido").Range.Text = Worksheets("hoja1").Range("B10")
.Item("cliente").Range.Text = Worksheets("hoja1").Range("B6")
.Item("producto").Range.Text = Worksheets("hoja1").Range("B32")
' Como puedo poner un marcador en word para que lo sustituya por una tabla de excel ej: range("a1:B12")
'.Item("tabla1").Range.Table?? = ?????
'
End With
aDOC.Close Savechanges:=True
Set aDOC = Nothing
MsgBox ("documento grabado")
End Sub