sort multiple metodo key1 comment ascending excel excel-vba

excel - metodo - vba comment multiple lines



Convertir macros de Excel 4 en VBA (4)

Tengo un viejo Excel 4 Macro que uso para ejecutar facturas mensuales. Se trata de 3000 líneas y tiene muchas hojas de cuadro de diálogo de Excel 5 (para cuadros de diálogo). Me gustaría saber cuál sería la forma más fácil de cambiarlo a Visual Basic y si vale la pena. También me gustaría saber cómo, una vez que lo haya convertido a VBA, cómo crear una aplicación independiente de él.


AFAIK no hay posibilidad de convertirlo de alguna manera. Tienes que reescribir básicamente en VBA.

Si se ha convertido a VBA, no se puede ejecutar como una aplicación independiente. Como VBA indica Visual Basic para aplicación, está viviendo dentro de una aplicación (Word, Excel, Scala, lo que sea).

Debe aprender un lenguaje estándar (no un macrolenguaje) para crear aplicaciones independientes. Pero debes aprender mucho más que el idioma en sí. Debe aprender diferentes técnicas, por ejemplo, manejo de bases de datos en lugar de manejo de hojas de Excel, impresión en lugar de impresión de Excel, etc. Entonces, básicamente, perderá muchas funciones, lo cual es evidente si usa Excel.



Intenté esto antes y al final necesitas reescribirlo como Biri dijo.

Hice un poco de este trabajo cuando nuestra empresa estaba actualizando desde Windows NT a Windows XP. A menudo descubrí que es más fácil no mirar el código anterior y comenzar de nuevo desde cero. Puede pasar tanto tiempo intentando averiguar qué hizo el Excel 4 especialmente con la notación de cuadro de diálogo "extraño". Al final, si sabe cuáles son las entradas y las salidas, a menudo será más efectivo y más limpio reescribir.

El hecho de utilizar VBA o no es en cierto modo otra cuestión, pero VBA es bastante potente y extensible, por lo que, aunque preferiría utilizar otras herramientas como .NET, en muchos casos funciona bien y es fácil de implementar.

En términos de, ¿vale la pena? Si pudieras decir que nunca más necesitarás cambiar tu macro de Excel 4, entonces tal vez no. Pero en los negocios siempre hay algo que cambia, por ejemplo, las tasas impositivas, especialmente las de fin de año. Dado lo difícil que es encontrar a alguien que soporte Excel 4 e incluso encontrar documentación sobre él, diría que es arriesgado no cambiar a VBA, pero eso es algo para equilibrar.


(Descargo de responsabilidad: desarrollo la biblioteca Excel-DNA)

En lugar de mover la macro a VBA, que usa un modelo de objeto de automatización COM que difiere del lenguaje de macros de Excel, en lugar de moverlo a VB.NET (o C #) ejecutándose con la biblioteca Excel-DNA .

Excel-DNA le permite utilizar la API C, que refleja el lenguaje de macros muy de cerca. Para cada comando macro, como sus diálogos, hay una función C API que toma los mismos parámetros. Por ejemplo, el equivalente de DIALOG.BOX sería xlfDialogBox; hay algunas discusiones y ejemplos en este hilo: http://groups.google.com/group/exceldna/browse_thread/thread/53a8253269fdf0a5 .

Una gran ventaja de este cambio es que puede cambiar gradualmente partes de su código para usar la interfaz de automatización COM: Excel-DNA le permite mezclar y combinar las interfaces COM y API C.