Autor Tema: Escribir sobre archivo Excel .xlsm  (Leído 1507 veces)

0 Usuarios y 1 Visitante están viendo este tema.

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Escribir sobre archivo Excel .xlsm
« en: Septiembre 07, 2017, 02:14:42 pm »
Buenas a todos.

Espero me puedan ayudar, es posible escribir sobre un archivo previamente ya creado en Excel, sobre una hoja especifica o sobre varias hojas especificas y guardar esto desde VB6?

Puedo hacerlo en cualquier otro formato de Excel o texto plano, pero en ese tipo de archivo especifico no he logrado hacerlo.

Alguien sabe como hacerlo?

Saludos a todos
Miguel Núñez.

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +150/-8
    • Ver Perfil
Re:Escribir sobre archivo Excel .xlsm
« Respuesta #1 en: Septiembre 12, 2017, 08:25:59 am »
Hola Sccann como andas tanto tiempo, perdon por leer tarde ya poco me conecto.
con respecto a tu pregunta es facil te dejo comentado cada line cualquier cosa preguntas.

Código: [Seleccionar]
Option Explicit

Private Sub Form_Load()
    Dim oExcelApp     As Object
    Dim oLibro     As Object
    Dim oHoja      As Object
    Dim Fila        As Long
    Dim Columna     As Long
     

    Set oExcelApp = CreateObject("Excel.Application") 'Crea una aplicacion de Excel
   
    Set oLibro = oExcelApp.Workbooks.Open("C:\Users\Windows\Desktop\Consulta.xlsm") 'Abre el Libro indicado
   
    Set oHoja = oLibro.Worksheets("Hoja1") 'Seleciona la Hoja "Hoja1" aca podes cambiarlo por la hoja que tengas en el libro.
     
    Columna = 1
    Fila = 2
   
    oHoja.Cells(Fila, Columna).Value = "Hola Mundo" 'Escrive en la celda A2
   
    Fila = 3
    oHoja.Cells(Fila, Columna).Value = "Hola ssccaann43" 'Escrive en la celda A3


    oLibro.Close True 'Cierra el libro y guarda los cambios
    ' --
    oExcelApp.Quit 'Cerrar Excel

    'Libera todos los objetos creados.
    Set oHoja = Nothing
    Set oLibro = Nothing
    Set oExcelApp = Nothing
   
End Sub

Después vos maneja los errores. (mas que nada si no esta excel instalado o el libro esta abierto te dara error.)
« última modificación: Septiembre 12, 2017, 08:28:30 am por LeandroA »

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:Escribir sobre archivo Excel .xlsm
« Respuesta #2 en: Septiembre 12, 2017, 11:16:25 am »
Hola Sccann como andas tanto tiempo, perdon por leer tarde ya poco me conecto.
con respecto a tu pregunta es facil te dejo comentado cada line cualquier cosa preguntas.

Código: [Seleccionar]
Option Explicit

Private Sub Form_Load()
    Dim oExcelApp     As Object
    Dim oLibro     As Object
    Dim oHoja      As Object
    Dim Fila        As Long
    Dim Columna     As Long
     

    Set oExcelApp = CreateObject("Excel.Application") 'Crea una aplicacion de Excel
   
    Set oLibro = oExcelApp.Workbooks.Open("C:\Users\Windows\Desktop\Consulta.xlsm") 'Abre el Libro indicado
   
    Set oHoja = oLibro.Worksheets("Hoja1") 'Seleciona la Hoja "Hoja1" aca podes cambiarlo por la hoja que tengas en el libro.
     
    Columna = 1
    Fila = 2
   
    oHoja.Cells(Fila, Columna).Value = "Hola Mundo" 'Escrive en la celda A2
   
    Fila = 3
    oHoja.Cells(Fila, Columna).Value = "Hola ssccaann43" 'Escrive en la celda A3


    oLibro.Close True 'Cierra el libro y guarda los cambios
    ' --
    oExcelApp.Quit 'Cerrar Excel

    'Libera todos los objetos creados.
    Set oHoja = Nothing
    Set oLibro = Nothing
    Set oExcelApp = Nothing
   
End Sub

Después vos maneja los errores. (mas que nada si no esta excel instalado o el libro esta abierto te dara error.)

Querido hermano, espero te encuentres bien... Grande lea, después comparto lo que estoy desarrollando.

Para que tengas una idea, estoy haciendo algo así: http://www.apesoft.es/caracteristicas-dcmv/

https://www.youtube.com/watch?v=-Qbwkd5vUGI

Una herramienta que puede conectarse a cualquier Base de Datos (Access, SQL Server y MySQL)

Con la cual podrás generar informes en plantillas prediseñadas con Macros para graficas, estadisticas, etc.

Una herramienta que va de la mano con el B.I. (Inteligencia de Negocio)

El detalle es que llegue a pensar que esas plantillas se armaban desde el VB6, pero no, ya vi y me di cuenta que las plantillas están listas esperando solo se escriban en hojas especificas y luego se ejecutan macros para actualizar la información y posteriormente se mandan por Mail.

Pero todo esto lo aprendí a las malas, después de tantos golpes.

Bueno gracias por el apoyo, un abrazo, bendiciones para tu baby, saludos.
« última modificación: Septiembre 12, 2017, 11:21:17 am por ssccaann43 »
Miguel Núñez.

Ever Cerna

  • Megabyte
  • ***
  • Mensajes: 113
  • Reputación: +1/-1
  • anarkia99-Soft.
    • Ver Perfil
Re:Escribir sobre archivo Excel .xlsm
« Respuesta #3 en: Octubre 07, 2017, 11:04:06 am »
Buenos Dias LeandroA,

Y como seria para recorrer un ListView y exportar a una Plantilla de excel ya prediseñada, asi como menciona ssccaann43

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +150/-8
    • Ver Perfil
Re:Escribir sobre archivo Excel .xlsm
« Respuesta #4 en: Octubre 08, 2017, 01:16:47 am »
Buenos Dias LeandroA,

Y como seria para recorrer un ListView y exportar a una Plantilla de excel ya prediseñada, asi como menciona ssccaann43

Hola Ever fijate en base a lo que le pase a Ssccaann

 
Código: [Seleccionar]
   Columna = 1
    Fila = 2
    oHoja.Cells(Fila, Columna).Value = "Hola Mundo" 'Escrive en la celda A2

como ves indico que columna y fila deseo escrivir,  ahora vos lo que tendrias que hacer son dos bucles (for y For X) uno dentro del otro
el primero por cada fila que contenga el ListView y el otro por cada Columna que contenga el listview y con esos mismo valores de Y, X del for son los que luego agregas en la planilla de excel según donde vos quieras escribir a Columna, fila le sumas  la X Y

me explico?, saludos.