lenguaje - refactorización del código vba: ¿hay alguna herramienta para ayudar?
vba excel descargar (4)
Descargo de responsabilidad : estoy muy involucrado con este proyecto.
Rubberduck es un complemento de código abierto para el IDE de VBA bajo desarrollo [muy] activo, que incluye esta funcionalidad.
La versión 1.2 incluye una herramienta de refactorización de métodos de extracción :
La versión 1.3 incluye una refactorización de cambio de nombre :
La versión 2.0 (beta disponible, aún estabilizadora) incluye una docena de refactorizaciones:
- Introducir parámetro promueve una variable local a un parámetro
- Introducir campo promueve una variable local al alcance del módulo
- Encapsulate Field convierte un campo público en una propiedad
- Mover más cerca del uso mueve un campo que solo se usa en 1 procedimiento, a ese procedimiento. O mueve una variable local inmediatamente arriba de su primer uso.
- Extract Interface le permite elegir qué miembros de la clase extraer en una interfaz, crea un nuevo módulo de clase con stubs para ellos y hace que la clase original implemente la interfaz extraída.
Implementar interfaz crea stubs para todos los miembros de una interfaz no implementada, por lo que no es necesario crearlos manualmente seleccionándolos uno por uno en el menú desplegable del panel de códigos:
Implements IClass1 Public Sub IClass1_DoSomething() Err.Raise 5 ''TODO implement interface member End Sub Public Function IClass1_GetFoo() As Integer Err.Raise 5 ''TODO implement interface member End Function Sub DoSomething() End Sub Function GetFoo() As Integer End Function
Hay más herramientas de refactorización en la hoja de ruta del proyecto, que puede seguir en GitHub .
Estoy tratando de refactorizar mi código VBA. Estoy tan acostumbrado a usar la refactorización en IDE basados en Java durante varios años. ¿El editor de VBA admite alguna refactorización o hay complementos? MZ Tools no tenía esa funcionalidad.
Quiero poder hacer al menos lo siguiente: 1. Renombrar variables 2. Dividir procedimientos en subprocesos para hacer que el código sea más legible 3. Cambiar el alcance de la variable de global a procedimiento y viceversa
La única herramienta de "refactorización" que conozco en VBA es Ctrl + F y Ctrl + R.
Sí, hay .... casi
En los viejos tiempos, usé este. http://www.moshannon.com/speedferret.html
me ayudó mucho y creo que tengo los discos de 3.5 "alguna vez;)
El truco está en copiar tu código de Excel a Access o VB6 y hacer allí tu refactorización. Reemplazar el alcance: la solución es la creación de nombres y el uso de reemplazar. procedimientos de escupir ... bueno, eso es un manual, lo siento.
Por lo general, no vale la pena a menos que tengas un código de excel excel vba, recomiendo convertir la mayor parte en c # o VB.Net dll donde puedes hacer refactorizaciones, pruebas y algo de magia moderna y solo hacer lo mínimo que puedas en VBA.
Utilizo V-Tools para trabajos de refactorización, ya que buscará / reemplazará objetos, no solo código VBA. http://www.skrol29.com/us/vtools.php