Volcar contenido de una tabla a excel existente |
Responder |
Autor | |
alexmubo
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Asiduo Unido: 15/Diciembre/2010 Localización: Colombia Estado: Sin conexión Puntos: 467 |
Tema: Volcar contenido de una tabla a excel existente Enviado: 07/Julio/2020 a las 18:49 |
Hola a todos, hace rato no hacia soluciones en access, pero acabo de terminar un pequeño aplicativo que hace lo que necesito, y de hecho exporta el contenido de una tabla a través de un código que encontré en la web, y funciona bien, pero me gustaría, que me ayudaran por favor, con lo siguiente:
El código exporta a un archivo nuevo y a una hoja creada desde este, pero quisiera que el contenido lo pudiera enviar directamente a un archivo de excel que contiene un formato predeterminado, específicamente el titulo y otras cosas que se manejan. Actualmente lo que hago es copiar y pegar el contenido a ese archivo existente llamado informe, desde el creado de manera automática con este código: Dim AppExcel As Object, rst As DAO.Recordset, SQL As String, Y As Long, A As Long On Error GoTo ManipularError SQL = "SELECT * FROM Informe_a_publicar" Set rst = CurrentDb.OpenRecordset(SQL, dbOpenForwardOnly) Set AppExcel = CreateObject("Excel.application") AppExcel.Workbooks.Add 'Crea un libro de trabajo nuevo y vacío With AppExcel.Sheets(1) 'Edito la hoja 1 With .Range("A:K") 'Rango de columnas a las que dare formato .Font.Name = "Arial" ' Tipo de letra .Font.Size = 10 'Tamaño de letra .ColumnWidth = 13 'Ancho de columna End With With .Range("A1:K1") 'Rango de fila a las que dare formato .Font.Size = 10 'Tamaño de letra '.Font.FontStyle = "Bold" 'Estilo de letra(Negrita) '.Interior.ColorIndex = 14 'Color de relleno de celda End With Y = 1 '.........................................................................Mueve las filas para iniciar While Not rst.EOF .Cells(Y, 1) = rst!Tipo '/////////////// .Cells(Y, 2) = rst!Origen '////////////////// .Cells(Y, 3) = rst!Almacen_destino '/////////////// Llenado de filas .Cells(Y, 4) = rst!Num_almacen '/////////////// .Cells(Y, 5) = rst!Material '//////////// .Cells(Y, 6) = rst!Descripcion '//////////// .Cells(Y, 7) = rst!Cantidad '//////////// .Cells(Y, 8) = rst!Serial_ '//////////// .Cells(Y, 9) = rst!Placa '//////////// .Cells(Y, 10) = rst!Lote '//////////// .Cells(Y, 11) = rst!Observacion '//////////// Y = Y + 1: rst.MoveNext Wend End With rst.Close: Set rst = Nothing AppExcel.Visible = True: Set AppExcel = Nothing Exit Sub ManipularError: If Not rst Is Nothing Then rst.Close: Set rst = Nothing If Not AppExcel Is Nothing Then AppExcel.DisplayAlerts = False: AppExcel.Quit: Set AppExcel = Nothing En resumen, quisiera cambiar la parte de crear y abrir un archivo de excel nuevo, por abrir y enviar a un archivo llamado "informe" y a la hoja llamada "formato". De antemano, muchas gracias en lo que me puedan ayudar
|
|
Dejar que todos den sus ideas es mas inteligente que pensar que uno se las sabe todas.
|
|
emiliove
Administrador Unido: 16/Junio/2009 Localización: Mexico Estado: Sin conexión Puntos: 5694 |
Enviado: 07/Julio/2020 a las 18:58 |
Pues eso es fácil en lugar de Workbooks.Add debes usar Workbooks.Open("Ruta de tu Excel") Y para la hoja AppExcel.Sheets(1) solo tienes que cambiar AppExcel.Sheets("NombredetuHoja") Saludos. Editado por emiliove - 07/Julio/2020 a las 22:30 |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14720 |
Enviado: 07/Julio/2020 a las 19:11 |
Como otra mejora, en lugar de recorrer el recordset, y asumiendo que los campos del mismo son los que vas a exportar y estan en el mismo orden, podrias utilizar CopyFromRecordset.
Un saludo
|
|
alexmubo
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Asiduo Unido: 15/Diciembre/2010 Localización: Colombia Estado: Sin conexión Puntos: 467 |
Enviado: 08/Julio/2020 a las 16:36 |
Emiliove, Excelente, quedo tal como lo necesitaba.
Xavi, gracias por la sugerencia, en este caso no me funciona porque tengo unas imagenes tipo Ole en el campo modelo, pero lo tendré en la cuenta para otro proyecto que solo maneje texto. Muchas gracias a los dos. Se puede cerrar el hilo.
|
|
Dejar que todos den sus ideas es mas inteligente que pensar que uno se las sabe todas.
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |