es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué recibo la excepción “System.io.filenotfoundexception: recuperando la fábrica de componentes CLSID de la clase COM de Excel” solo en una máquina?

Hice un programa muy simple en c# para probar el acceso a algunas rutas de archivos para diferentes usuarios.
Para todos los usuarios, el programa funciona bien, pero para uno de ellos, el programa devuelve la excepción

System.io.filenotfoundexception: recuperando el componente de la fábrica de clases COM con CLSID{} falló debido al siguiente error: 80070002

y esto ocurre cuando intenta crear un objeto Microsoft.Office.Interop.Excel.Application.

    using System;
    using System.Runtime.InteropServices;
    using Excel = Microsoft.Office.Interop.Excel;
    using System.Windows.Forms;
    using System.Diagnostics;
    namespace TestExcelBianchi
    {
        class Program
        {
            static void Main(string[] args)
            {


                ...

                Excel.Application excel = new Excel.Application();
                Excel.Workbook wb=null;
                ....
            }
        }
}

Este problema comenzó a ocurrir después de ejecutar la reparación de Office en la pc del usuario, probablemente falta la PIA de Office. ¿Necesito reinstalar Office en la máquina del usuario o hay alguna forma de evitarlo?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está relacionado con la reparación de Office en la PC del usuario. Es posible que falten las Asambleas Primarias de interoperabilidad de Office (PIAs). Para resolver este problema, es posible que deba reinstalar Office en la máquina del usuario. Alternativamente, podría intentar instalar manualmente las PIAs de Office. Puede encontrar más información al respecto aquí.

Comments are closed.