Saltar al contenido

Excepción de HRESULT: 0x800A03EC Error

Revisamos exhaustivamente cada post en nuestra web con el objetivo de enseñarte siempre información con la mayor veracidad y certera.

Solución:

Tengo el mismo error en esta línea

 Object temp = range.Cells[i][0].Value;

Resuelto con un índice basado en cero

 Object temp = range.Cells[i][1].Value;

¿Cómo es posible que los chicos que crearon esta biblioteca pensaran que era una buena idea usar una indexación basada en cero?

Este es un error COM de Excel común pero mal documentado. Lo he visto documentado como “NOMBRE_NO_ENCONTRADO”, lo que significa que la capa COM de Excel está deshabilitada y no puedo encontrar la propiedad COM o el nombre del método.

Recibo este error constantemente cuando ejecuto el código COM mientras Excel está “ocupado”, por ejemplo, si configura un temporizador que iniciará el código y el código comienza a ejecutarse mientras el usuario está editando una celda o presionando el botón del mouse, entonces siempre obtendrá este error. Este error solo ocurre cuando el código se ejecuta en el subproceso principal de Excel, pero parece ser el equivalente del error VBA_E_IGNORE = 0x800AC472, que se obtiene al llamar al modelo de objetos COM de Excel desde otro subproceso, mientras Excel está “ocupado”.

La única solución parece ser volver a intentar (con un pequeño retraso) la llamada COM hasta que tenga éxito, cuando Excel ya no esté “ocupado”.

Revisa tus índices de inicio. Comienza desde 1, no desde 0 para los objetos de rango de Microsoft.Office.Interop.Excel. Recibí el mismo error debido a mi valor de inicio de ciclo.

Puedes añadir valor a nuestro contenido informacional asistiendo con tu experiencia en las críticas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *