top of page
John

Comparing VBE_Extras with MZ-Tools

Updated: Sep 26

A few times I've been asked questions along the lines of "Isn't VBE_Extras is just the same as MZ-Tools ... so why would I also use VBE_Extras?". Hopefully, this post will provide the answer.


First, though, to acknowledge up front:


  • I put this post together myself without input from the developer of MZ-Tools ... they might have a different view on the opinions that I give in this post.

  • Nothing in this post should be read to criticise MZ-Tools ... in fact, if you are developing VBA code without MZ-Tools then you should go and download MZ-Tools now (well, immediately after downloading VBE_Extras, of course).

  • However, the gist of this post is that the two tools are not competing with each other, rather they (mostly ...) offer complementary functionality (this pre-supposes that you are using one of the host applications supported by VBE_Extras ... that is: Excel, Word, Access, Outlook and PowerPoint).

  • I have no association with MZ-Tools or its developer and I get no financial benefit from recommending it (which I do!).


To actually download the relevant tools, see VBE_Extras and MZ-Tools (external link).


So ... the answer


VBE_Extras provides 71 commands. Based on a count of the menu items that MZ-Tools add to the VBE (so this is rather crude and may well be an under-estimate), it provides around 50 commands.


Based on my understanding of the MZ-Tools functionality, there are 7 VBE_Extras commands that provide matching or very similar functionality and a further 5 or 6 commands (as "AutoText" is included twice) that share some related functionality - as follows:

Command in MZ-Tools

Command in VBE_Extras

Comparison

Code Explorer

Declarations in this Module

• VBE_Extras also has 'Declarations in this Procedure / Property' and 'Declarations in this Project'

• The list shown by VBE_Extras contains more detail

Method Callers

Reference for code at cursor

• VBE_Extras has details of 'callers' (or 'references') for all types (i.e. not just methods but also: variables; constants; Modules; Classes; Enums and Enum members; Types and Type elements; Controls; line labels; the VBA Project itself … and more)

• The list shown by VBE_Extras contains more detail

New Method / Property Assistant

Add Properties

MZ-Tools supports adding Subs and Functions whereas VBE_Extras supports only adding Properties

Select Case Assistant for Enums

AutoText ("Select Case")

Matching … however, AutoText does much more than just Enums

Task List

Tasks in this Project

Matching / very similar functionality

Add Line Numbers

Add / update line numbers

Matching / very similar functionality

Remove Line Numbers

Remove line numbers

Matching / very similar functionality

Split lines

Split line(s)

Matching / very similar functionality

Indent lines

Indent lines

Matching / very similar functionality

Statistics

Project Stats

Matching / very similar functionality

Clear Immediate Window

Immediate window: clear / go to start / go to end

• VBE_Extras also provides commands to go to the start or end of the Immediate Window

• VBE_Extras also provides commands to automatically clear the Immediate window when running code via the VBE menu items or F5 or F8

Favorite Code Elements

AutoText

Similar functionality but MZ-Tools provides more scope and flexibility

Clean Project

Clean this Project

Matching / very similar functionality

… which leaves 58 commands that VBE_Extras provides that are entirely different (and, for Excel users, there are additional commands provided by VBE_Extras Helper ... see my Navigating between VBA code and Shapes, Tables and Names post for more details).


So what this shows is that the functionality of the two tools complements each other - and VBA developers are missing out if they don't have both tools!


The 71 commands provided by VBE_Extras †


  1. Info for code at cursor

  2. References for code at cursor

  3. Highlight

  4. Show All Members

  5. Special binding

  6. Show declaration for code at cursor

  7. List declarations in this Procedure / Property

  8. List declarations in this Module

  9. List declarations in this Project

  10. List declarations referenced from other Modules in this Project

  11. Rename code at cursor

  12. Undo rename

  13. Qualify reference

  14. Add Properties

  15. Add Factory

  16. Extract to constant

  17. Implement Interface

  18. Extract Interface

  19. Make 'Option Explicit'

  20. Tasks in this Project

  21. Go to declaration for code at cursor

  22. Go to a declaration in this Module

  23. Go to line in this Module

  24. Go to Module

  25. Go to implementation

  26. Go to base

  27. Go to previous code reference in this Project / Go to next code reference in this Project

  28. Go to declaration above / Go to declaration below

  29. Go to Bookmark in this Project

  30. Go to Shape with this name or that calls this Procedure

  31. Go to Table with this name

  32. Go to Name with this name

  33. Set Sub to run / Run Sub to run / Clear Sub to run

  34. Run Again

  35. Immediate window: clear / go to start / go to end

  36. Add / update line numbers

  37. Remove line numbers

  38. Indent lines

  39. Split line(s)

  40. Comment / Uncomment line(s)

  41. Move line(s) up / down

  42. Attributes

  43. Matches for literal value at cursor

  44. Orphan declarations

  45. Declarations that could be made Private

  46. Detached event handlers in this Project

  47. Keyboard shortcuts in this Project

  48. Call hierarchy

  49. Add Enum from Type Library

  50. Add a "GetEnumAsString()" Function

  51. Show / hide hidden members

  52. Project stats

  53. Previous Lists for this Project

  54. FullScreen

  55. Themes

  56. Update CCAs for this Project automatically / Update CCAs for this Project manually / Clear CCAs for this Project

  57. Backup this Project

  58. View as text file

  59. Compare Project

  60. Compare Module

  61. Version Control

  62. Replace All Modules in this Project

  63. Clean this Project

  64. View RibbonX

  65. Update Project References

  66. Type Library explorer

  67. History - Back / Forward

  68. Show History

  69. Project Picker

  70. Module Picker

  71. AutoText


... to learn more about any command, see the main VBE_Extras page and/or the VBE_Extras user guide.

  

† not all commands are available to all users … for example:

 

  • Make 'Option Explicit' – only available when the Office Display Language is set to be English

  • Go to Shape with this name or that calls this Procedure – only available in Excel

  • Go to Table with this name – only available in Excel

  • Go to Name with this name – only available in Excel

  • Set Sub to run / Run Sub to run / Clear Sub to run - not available in Outlook

  • Run Again - not available in Outlook

  • Keyboard shortcuts in this Project – only available in Excel

  • Replace All Modules in this Project – only available in Excel and Word

  • View RibbonX - not available in Access and Outlook


0 comments

Comments


bottom of page