![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Abrir excel desde VB
Buenas, llevo atascado unos días en este problemilla. Desde un botón que tengo abro un excel, y obtengo el valor de una celda en concreto y la voy guardando en una variable para después mostrarlo en mi pantalla. Consigo traer ese valor pero me sale la siguiente excepción "Excepción de HRESULT: 0X800A01A8", y no consigo quitarla. Creo que el problema puede venir porque al final aunque el while (objExcel.Visible) se cumple intento acceder a una celda que ya no existe, no se si me explico bien.... A ver si alguien me puede ayudar porque no se me ocurre mas pruebas que hacer. Muchisimas gracias
Código:
Dim aux As String
Dim objExcel As Excel.Application
Dim xLibro As Excel.Workbook
Dim xHoja As Excel.Worksheet
Dim xRango As Excel.Range
objExcel = New Excel.Application
xLibro = objExcel.Workbooks.Open("Z:\GESTION\COPIAS DE EXPEDIENTE\TABAL CALCULO Nº documentos copias expediente.xls")
xHoja = xLibro.Worksheets(1)
xRango = xHoja.Range("E18")
objExcel.Visible = True
While (objExcel.Visible)
Me.Enabled = False
Try
If xRango.Value <> Nothing Then
aux = xRango.Value.ToString
End If
Catch exc As Exception
'MessageBox.Show(exc.Message)
End Try
End While
'xRango.ClearContents()
objExcel.Quit()
Última edición por Casimiro Noteví fecha: 23-07-2012 a las 15:52:32. |
|
#2
|
||||
|
||||
|
Lo siento, franfi, pero por aquí VB no se estila mucho. Si fuera QuickBASIC aún podría ayudarte yo, pero de VB no tengo NPI.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment |
|
#3
|
|||
|
|||
|
Muchas gracias Nuño, a ver si encuentro alguna "chapuzilla" para solucionarlo.
|
|
#4
|
||||
|
||||
|
Hola no entiendo cual es la necesidad clara que tienes, pero si lo que quieres es leer un archivo de excel y lo que te está generando error es esto:
Código:
If xRango.Value <> Nothing Then
aux = xRango.Value.ToString
End If
Código:
If Not xRango Is Nothing Then
If xRango.Value <> Nothing Then
aux = xRango.Value.ToString
End If
End If
__________________
mas confundido que Garavito el día del Niño. |
|
#5
|
|||
|
|||
|
Muchas gracias pero me sigue saltando la excepción, es que es difícil explicar el porque hago ese trozo de código, entiendo que las últimas iteracciones del while el excel sigue siendo visible pero la celda, la hoja o el libro ya no existen y por eso me salta el error. La verdad que no soy capaz de soluccionarlo y he probado mil cosas, así que capturo la excepción y no hago nada con ella porque por lo menos el valor de la celda me lo devuelve correctamente asi q.... una pequeña chapuzilla. Muchisisimas gracias
|
|
#6
|
||||
|
||||
|
Otra cosa que puedes hacer es convertir el xls a csv y cargarlo a un datatable, yo hice un programa que se encarga de convertir de excel 97-2003 a csv, de esta manera el error se deja de generar.
__________________
mas confundido que Garavito el día del Niño. |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Abrir XLS sin Excel Instalado | MarioATamborini | Servers | 3 | 15-11-2011 20:57:08 |
| Abrir un archivo de texto con excel | Pitilingorri | Varios | 4 | 27-09-2011 12:24:04 |
| Abrir archivo excel desde ruta | Jeko | Varios | 4 | 28-03-2011 10:50:20 |
| Abrir un Excel desde Delphi 6 y modificarlo | Aser | Varios | 4 | 05-08-2008 14:37:32 |
| Abrir un fichero especifico Excel | Alexis7788 | Servers | 1 | 21-02-2007 11:55:35 |
|