Foros del Web » Programación para mayores de 30 ;) » .NET »

Problemas con visual basic y excel 2003

Estas en el tema de Problemas con visual basic y excel 2003 en el foro de .NET en Foros del Web. hola pues bien miren tengo un problema el chiste va asi estoy rgistrando los datos de dos archivos de excel, bueno uno extencion xls y ...
  #1 (permalink)  
Antiguo 23/07/2008, 13:43
Avatar de chaka106  
Fecha de Ingreso: julio-2008
Ubicación: Un Punto En Mapa Central De Mexico
Mensajes: 70
Antigüedad: 15 años, 9 meses
Puntos: 1
Pregunta Problemas con visual basic y excel 2003

hola pues bien miren tengo un problema el chiste va asi estoy rgistrando los datos de dos archivos de excel, bueno uno extencion xls y el otro es exp pero igualmente se comporta como un excel el problema es que estos archivos van a llegar cada mes y la longitud de los archivos es variable como puede ke sea de 100 filas o sea de 1000, asi que el problema reside en que no se como saber donde terminar de leer el archivo, lo de menos es ponerme a leer hasta la celda "A,b,c... .2000" pero es perder mucho tiempo y ya saben ke en esto se necesita velocidad
codigo que he hecho
Código:
Dim varOBJ As Excel.Application
        varOBJ = CType(CreateObject("Excel.Application"), Excel.Application)
        Dim var As Excel.Worksheet
        varOBJ.Workbooks.Open("C:\archivo.exp") 'exp y xls no importa 
        var = var.ActiveWorkbook.Sheets(1)
        Dim lastrow As String
        lastrow = var.Rows.End(Excel.XlDirection.xlDown)
        MsgBox(lastrow.ToString)
        Try
            While (var.Range("a" & i).Value.ToString <> " ")
                ListBox1.Items.Add(var.Range("a" & i).Value.ToString)
                Label1.Text = var.Range("a" & 1).Value.ToString
                ListBox2.Items.Add(var.Range("b" & i).Value.ToString)
                Label2.Text = var.Range("b" & 1).Value.ToString
                ListBox3.Items.Add(varRange("c" & i).Value.ToString)
                Label3.Text = var.Range("c" & 1).Value.ToString
                ListBox4.Items.Add(var.Range("d" & i).Value.ToString)
                Label4.Text = var.Range("d" & 1).Value.ToString
                ListBox5.Items.Add(var.Range("e" & i).Value.ToString)
                Label5.Text = var.Range("e" & 1).Value.ToString
                i += 1
            End While
            i = 1
        Catch ex As Exception

        End Try

        varOBJ.Visible = False
        varOBJ.Quit()
        varOBJ = Nothing
lo que hace ahi es leer un archivo excel y llenar varios listbox pero en este archivo deja de leer hasta que encuentra una celda vacia lo que puede no llegar a funcionar ya que si encuentra un espacio vacio antes de que termine el archivo va a quedar incompleto todo el codigo es simple si no se entiende solamente pregunten y pues gracias de antemano

Última edición por chaka106; 23/07/2008 a las 13:46 Razón: cambio de nombre en dos variables
  #2 (permalink)  
Antiguo 25/07/2008, 05:09
 
Fecha de Ingreso: agosto-2005
Mensajes: 33
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Problemas con visual basic y excel 2003

Yo e trabajando creando un reporte en un archivo excel, y lo que hago para recorrer las filas hasta el final es usar algo asi

Código:
            Dim xl As New Excel.Application
            Dim wb As Excel.Workbook
            Dim ws As Excel.Worksheet

            wb = xl.Workbooks.Open("C:\miarchivo.xls")
            ws = wb.Worksheets("Hoja1")

            If ws.UsedRange.Rows.Count > 0 Then

                Dim Ran As Excel.Range
                       For i = 2 To ws.UsedRange.Rows.Count

                       Ran= ws.Range("H" & i & "")
                       'Ran.Value = "=D" & i & "-E" & i & "" 'Esto es para escribir
                        ListBox1.Items.Add(Ran.Value.Tostring) 'Este seria para leer, como es tu caso

            next
prueba a ver si es lo que buscas
  #3 (permalink)  
Antiguo 25/07/2008, 08:05
Avatar de chaka106  
Fecha de Ingreso: julio-2008
Ubicación: Un Punto En Mapa Central De Mexico
Mensajes: 70
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Problemas con visual basic y excel 2003

gracias en si tu codigo me ayudo un poco minimo ya puedo ver hasta que fila leer y hasta que columna muchas gracias javiercapi

ahora otra cuestion tengo un campo en el documento que tiene una fecha 07:26:26 a.m. al leer el campo pues deberia salir 07:26:26 a.m. pero no, me sale .31####### ya intente pasandolo a una variable de tipo datetime pero nada alguien alguna ayuda????

por cierto me arroja un error cuando encuentra una celda nula alguien sabe como kitar este error??? pensaba en tratarla como un espacio en blanco pero mi programa me manda la excepcion al momento en ke la encuentra y no sigue leyendo mas

dejo codigo ke llevo hasta ahora:
Código:

Dim varOBJ AsNew Excel.Application
varOBJ = CType(CreateObject("Excel.Application"), Excel.Application)
Dim var AsNew Excel.Worksheet
var.Workbooks.Open("C:\123.xls")
var = VAROBJ.ActiveWorkbook.Sheets(1)
MsgBox("Filas: " & var.UsedRange.Rows.Count & " Columnas: " & VAR.UsedRange.Columns.Count)
Try
Label1.Text = (var.Range("a" & 1).Value).Date & " " & (var.Range("b" & 1).Value).Time
Label2.Text = var.Range("a" & 5).Value.ToString
Label3.Text = var.Range("a" & 9).Value.ToString
Label4.Text = var.Range("a" & 11).Value.ToString
Label5.Text = var.Range("a" & 15).Value.ToString
Label6.Text = var.Range("a" & 16).Value.ToString & ", " & var.Range("b" & 16).Value.ToString
Label7.Text = var.Range("a" & 17).Value.ToString
 
Label8.Text = var.Range("a" & 2).Value.ToString ' si pasa esta linea todas las demas deben de salir

Catch ex As Exception
MsgBox(ex.Message)
EndTry
varOBJ.Quit()
varOBJ = Nothing
 

EndSub
 

Última edición por chaka106; 25/07/2008 a las 10:36
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:33.