Descargo de responsabilidad: Estoy muy involucrado con este proyecto.
Rubberduck es un código abierto de complemento para el IDE VBA en desarrollo [muy] activo, que incluye esta funcionalidad.
Versión 1.2 incluye un Extraer método herramienta refactorización:
![extract method refactoring](https://i.stack.imgur.com/Nnr1s.png)
Versión 1.3 incluye una refactorización Renombrar:
![rename refactoring](https://i.stack.imgur.com/etufw.png)
Version 2.0 (beta disponible, aún estabilización) incluye una docena de refactorizaciones:
![Rubberduck 2.0 refactorings](https://i.stack.imgur.com/eWaxn.png)
- introducir Parámetro promueve una variable local a un parámetro
- Introducir Campo promueve una variable local al módulo alcance
- 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.
- Extraer interfaz 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 la interfaz crea talones para todos los miembros de una interfaz sin aplicarse, por lo que no es necesario crear manualmente seleccionando uno a uno en el menú desplegable panel de código:
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
Más herramientas de refactorización se encuentran en la hoja de ruta del proyecto, que puede seguir en GitHub.
No lo he usado hasta la fecha. Pero mira de este enlace ayuda? http://visualbasic.about.com/od/usingvbnet/a/refact_4.htm –
Veo alcohol en su futuro. – kingdango
¿Has probado la versión Visual Basic de Resharper? Sé que VBA es diferente, pero puede funcionar para la mayoría de sus necesidades. – Pat