............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

manejar excel desde visual basic 6.0

Ver el tema anterior Ver el tema siguiente Ir abajo

manejar excel desde visual basic 6.0

Mensaje por damianomarsilva el Dom Abr 27, 2008 3:15 am

muchos de nosotros, intuyo, hemos dados nuestros primeros pasos en las macros luego de transitar primeramente por visual basic 6.0... y también nos olvidamos que podemos "mezclar" a ambos para que nuestros programas desde vb logren mas potencia e interoperabilidad con los usuarios finales, brindándoles la posibilidad de (por ejemplo) obtener reportes, listados, etc, etc en una aplicación tan familiar para la gran mayoría como lo es excel.
si nuestro cliente nos pide un listado de ventas...¿no sería bueno que, al margen de imprimirlo o mostrarlo en pantalla mediante algún control, se lo pasemos a excel, para que realice luego los análisis que desee sobre ese reporte?
ahora bien, como bastante me han consultado al respecto, les dejo un breve código de como "crear" a excel e interactuar con él, mediante visual basic 6.0
cabe aclarar que es un ejemplo en extremo básico y solo pretende dar "la idea..." al como hacerlo. el post queda abierto a futuras consultas.
Código:
Private Sub Command1_Click()
'aqui dimensiono los objetos
Dim appExcel As Object
Dim wkbExcel As Object
Dim shtExcel As Object
Dim X As Integer
'con dicha variable, "creo" a excel
'excel debe estar instalado en la pc para que esto funcione
Set appExcel = CreateObject("excel.application")
'creo un nuevo libro:
Set wkbExcel = appExcel.Workbooks.Add
'ahora referencio a una hoja del libro:
Set shtExcel = wkbExcel.Sheets.Add
'le doy un nombre a esa hoja:
shtExcel.Name = "Ejemplo"
'para mostrar como funciona, mas o menos, hago un
'par de rutinas sin sentido, pero se podrán observar los resultados finales:
For X = 1 To 10
    shtExcel.Cells(X, 1).Value = "el_foro_de_gali__ " & X
Next X
'coloreo las celdas:
shtExcel.Range("a1:a" & X).Interior.ColorIndex = 6
'inserto dos filas en la hoja
shtExcel.Range("a1:a2").EntireRow.Insert
'y coloco la fecha y hora en a1
shtExcel.Range("a1").Value = "Fecha " & Date & " / Hora " & Time
'y de esta forma podemos hacer cualquier cosa, la que deseemos.
'================================
'================================
'guardo el archivo: ojo, que el nombre debe ir variando, si intentamos
'guardar el mismo archivo en la misma ruta... arroja error:
wkbExcel.SaveAs "C:\LibroEjemplo.xls", FileFormat:=xlNormal
'quito la aplicacion
appExcel.Quit
'destruyo los objetos, para liberar memoria
Set appExcel = Nothing
Set wkbExcel = Nothing
Set shtExcel = Nothing
End
End Sub
esto es ilimitado, como habrán deducido. en lugar de ese par de lineas sin sentido que expuse, bien podríamos volcar los resultados de una consulta sql al libro o utilizar a excel como una pequeña base de datos, aprovechando principalmente todas las herramientas de análisis que posee. el tiempo que ahorramos en codificación es enorme (hacemos uso del "arsenal" de excel) y los resultados son muy profesionales.
otra forma es: menú proyecto/referencias... y tildar la opción "microsoft excel". luego debemos dimensionar de la siguiente forma, por ejemplo:
Dim appExcel as New Excel.Application
Dim Libro as Excel.Workbook
Dim Hoja as Excel.Worksheet
'y así sucesivamente con el resto de los objetos (rangos, celdas, etc, etc)

probablemente esta ultima forma sea mejor, ya que luego de poner un punto ( . ) se nos desplegarán todas las propiedades, metodos y eventos del objeto tratado. esto ayudará en gran medida a los que tengan menos conocimientos, ya que visualizarán todas las opciones posibles.
suerte y espero les ayude.

damianomarsilva
Moderador
Moderador

Cantidad de envíos : 12
Fecha de inscripción : 12/03/2008

Volver arriba Ir abajo

Re: manejar excel desde visual basic 6.0

Mensaje por henryh007 el Vie Sep 04, 2009 10:55 pm

Me parece interesante manejar Excel desde VB, pero tengo una duda, donde pego el Codigo?.

henryh007

Masculino Cantidad de envíos : 53
Edad : 25
Ciudad - Pais : Cusco - Perú
Version de Excel : Excel 2007
Fecha de inscripción : 29/08/2009

Volver arriba Ir abajo

Re: manejar excel desde visual basic 6.0

Mensaje por damianomarsilva el Sáb Sep 05, 2009 12:15 am

en este caso en particular, si te fijas, tienes command1_click(), que es donde iria el codigo.
de todas formas, adaptando un par de cosas, podrias pegarlo en un modulo o donde se te ocurra dentro de visual basic, segun tus preferencias a la hora de programar.

damianomarsilva
Moderador
Moderador

Cantidad de envíos : 12
Fecha de inscripción : 12/03/2008

Volver arriba Ir abajo

Re: manejar excel desde visual basic 6.0

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.