我想重構我的VBA代碼。我很習慣在基於Java的IDE中使用重構多年。 VBA編輯器是否支持任何重構或是否有任何插件? MZ工具沒有任何這樣的功能。vba代碼重構 - 有什麼工具可以幫助嗎?
我希望能夠至少做到以下幾點:1。 重命名變量 2.拆分過程爲子程序,使代碼更易讀 3.改變變量從全球到程序的範圍和反之亦然
我想重構我的VBA代碼。我很習慣在基於Java的IDE中使用重構多年。 VBA編輯器是否支持任何重構或是否有任何插件? MZ工具沒有任何這樣的功能。vba代碼重構 - 有什麼工具可以幫助嗎?
我希望能夠至少做到以下幾點:1。 重命名變量 2.拆分過程爲子程序,使代碼更易讀 3.改變變量從全球到程序的範圍和反之亦然
我使用V-Tools進行類似於重構的工作,因爲它可以在對象中查找/替換,而不僅僅是VBA代碼。 http://www.skrol29.com/us/vtools.php
是有....幾乎
在過去的好時光我用這一個。 http://www.moshannon.com/speedferret.html
幫助了我很多,我想我有3.5" 磁盤somewere;)
關鍵是要複製您的Excel代碼訪問或VB6,做你的重構有 更換範圍:解決方案是創造性的。命名和使用替代。 吐痰程序......以及那是一個手動對不起。
它通常是不值得的,除非你有一些嚴重的Excel VBA中的代碼,我會recoment轉換大部分爲C#或VB。 Net dll,您可以在其中重構,測試和一些現代魔法,並且只能在VBA中儘可能少地使用它。
是的,IIRC,速度雪貂仍然可用,但我認爲它在10年內沒有看到任何有意義的發展。我相信Rubberduck VBA增加了更多的功能,並可以在更多的VBA主機上工作,而且它是免費的並且處於積極的發展階段。 – ThunderFrame
免責聲明:我大量參與此項目。
Rubberduck是一個開放源代碼加載爲VBA IDE下[非常]活躍的開發中,包括此功能。
版本1.2包括提取方法重構工具:
版本1.3包括重命名重構:
2版。0(測試版可用,仍然穩定)包括一打的重構:
實現接口創建一個未實現接口的所有成員存根,所以你並不需要在代碼窗格下拉列表中選擇逐一手動創建:
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
更多的重構工具在項目的路線圖上,您可以在GitHub上查看。
我個人使用Rubberduck,可以證明它是有用的。 –
太棒了!我想再也不用工具編寫VBA代碼! – raiserle
@raiserle謝謝!隨意在GitHub上爲我們介紹星空)=) –
到目前爲止還沒有使用它。但看到這個鏈接有幫助嗎? http://visualbasic.about.com/od/usingvbnet/a/refact_4.htm –
我將來會看到酒。 – kingdango
您是否嘗試過Visual Basic版本的Resharper?我知道VBA是不同的,但它可能適用於您的大部分需求。 – Pat