Saltar al contenido

copiar tabla excel en un sitio específico de un documento word ya creado


Recommended Posts

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.

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

  • 3 months later...
publicado

Hola tengo un problema con esto estoy tratando de seleccionar una tabla copiándola y la quiero pegar en un marcador que tengo en un documento en Word este es mi código no me sale hasta ahora me tira error

[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] xlApp [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Excel.Application[/SIZE]
[SIZE=2]
[/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] xlLibro [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Excel.Workbook[/SIZE]
[SIZE=2]
[/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] xlHoja [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Excel.Worksheet[/SIZE]
[SIZE=2]
[/SIZE][SIZE=2] xlApp = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Excel.Application[/SIZE]
[SIZE=2]
[/SIZE][SIZE=2] xlLibro = xlApp.Workbooks.Open([/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"D:\ASPERUT\Matriz\PG-BTS-1.xlsx"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]True[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]True[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], , [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]""[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
[SIZE=2]
[/SIZE][SIZE=2] xlApp.Visible = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]True[/COLOR][/SIZE][/COLOR][/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]
[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][/SIZE][SIZE=2] xlHoja = xlApp.Worksheets([/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Hoja1"[/COLOR][/SIZE][/COLOR][/SIZE]
[SIZE=2])
[SIZE=2][/SIZE][SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]'instancia de word[/COLOR][/SIZE][/COLOR][/SIZE]
[SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]
[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][/SIZE]
[SIZE=2] WordAplicacion = CreateObject([/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Word.Application"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
[SIZE=2]
[/SIZE]
[SIZE=2] WordAplicacion.Visible = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]True[/COLOR][/SIZE][/COLOR][/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]
[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][/SIZE]
[SIZE=2] WordDocumento = WordAplicacion.Documents.Open([/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"D:\ASPERUT\Matriz\pruebas.docx"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]With[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] WordDocumento.Bookmarks[/SIZE]
[SIZE=2]
[/SIZE]
[SIZE=2] .Item([/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"CUADROC"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]).Range.Tables = xlHoja.Paste[/SIZE]
[SIZE=2]
[/SIZE]
[SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]With[/COLOR][/SIZE][/COLOR][/SIZE]
[/SIZE][/CODE]

trate de la manera que indicabas pero me sigue saliendo error alguien que me podría dar una mano estoy atascado

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.