none
Excel vs Visual Studio RRS feed

  • Pregunta

  • Buen día,

    Realice un programa que genera un libro de Excel con información obtenida de una base de datos Firebird y el tiempo en que desarrolla está actividad es de 1.38 min.; en Excel tengo una macro y el tiempo de respuesta es 0.48 min. ¿Por qué la Macro de Excel es más rápida que visual studio?

    Gracias...

    viernes, 8 de noviembre de 2013 15:03

Respuestas

  • Gracias…

    Lo que tuve que hacer fue generar el archivo .bas en visual studio y agregar dicho archivo a una hoja nueva también creada desde esta aplicación y correr la macro desde Excel.

    • Marcado como respuesta JAZH martes, 12 de noviembre de 2013 15:40
    martes, 12 de noviembre de 2013 15:39

Todas las respuestas

  • Seguramente es porque desde Visual Studio estás usando COM Interop para realizar múltiples llamadas desde Visual Studio a Excel. Estas llamadas a través de COM son lentas, y se nota especialmente si haces muchas de ellas en un bucle para insertar valores en la hoja enviando las celdas de una en una. En lugar de eso, prueba a hacer una única llamada que inserte de golpe una matriz entera que contenga todos los valores de todas las celdas; verás que corre mucho más, puede que sea incluso un poquito más rápido que usar la macro en VBA.

    sábado, 9 de noviembre de 2013 8:40
  • Gracias…

    Lo que tuve que hacer fue generar el archivo .bas en visual studio y agregar dicho archivo a una hoja nueva también creada desde esta aplicación y correr la macro desde Excel.

    • Marcado como respuesta JAZH martes, 12 de noviembre de 2013 15:40
    martes, 12 de noviembre de 2013 15:39