MZ-Tools 8.0 Build released introducing Import Files and Clean Project for VBA

Yesterday August 2, MZ-Tools was released. It includes a fix for the previous build released the day before.

Build fixes some bugs and introduces some new features and enhancements:

  • For VBA, the new Import Files feature allows you to import multiple files at the same time to a VBA project. The opposite feature, Export Files, was introduced last month.
  • For VBA, the new Clean Project feature allows you to fix some strange errors in VBA projects caused by junk created by the compiler. This feature works exporting all files, removing them, and re-importing them. There are cleaning utilities on the web, but all of them are 32-bit.
  • The Sort Code Elements feature is now even more powerful. Previously you could use a regular expression on the Name of a method to identify the methods that you want to sort before others. Now you can use the Name or Declaration property (which includes attributes, modifiers, parameters, etc.) and any operator such as “Contains”, “Starts With”, etc. (not only “Matches Regular Expression”).
  • Long operations inside a file can now be cancelled quickly. Previously the cancellation only happened when the operation switched to another file.
  • New predefined variables for the code element declaration and parameter default value.
  • For VB/VBA, support for backreference groups when using the Replace feature with regular expressions.
  • When setting a new folder for the options, if the new folder is empty now you get a prompt to copy existing options. Previously you had to copy the options with the Windows Explorer before changing the folder.
  • A cosmetic change: the “Code Element Header” term has been renamed to just “Header” in all places.
  • An important fix for users of Autodesk products (AutoCAD, Inventor, etc.): the VBA editor no longer crashes when launched in MZ-Tools 8.0 for VBA is installed. This problem was introduced in build (July 1).

The complete changelog is the following:

MZ-Tools released (August 1, 2016)

  • New feature [Internal] (VBA): Import Files.
  • New feature [Internal] (VBA): Clean Project.
  • Enhanced [#10465] (All): The Sort Code Elements feature allows now to set a condition for the Name or Declaration properties.
  • Enhanced [#11305] (All): Long operations inside a file can now be cancelled.
  • Enhanced [#11306] (All): The Replace controls are cleared when a new search is executed.
  • Enhanced [#11308] (All): Added new “Code Element Declaration” predefined variable.
  • Enhanced [#11308] (All): Added new “Parameter Default Value” predefined variable.
  • Enhanced [#11139] (All): When setting a new folder for options, if the folder is empty you get a prompt to copy the current options to that new folder.
  • Enhanced [#11312] (All): Better error messages when inserting code element headers.
  • Enhanced [#11327] (VB/VBA): Added support for backreference groups in the Replace feature when using regular expressions.
  • Enhanced [#11180] (VBA): The Export Files feature generates now a References.txt file with information of references used by the project.
  • Enhanced [Internal] (All): Renamed ‘Code Element Header’ to ‘Header’ in user interface and help file.
  • Fixed [#11323] (All): The Method Callers feature didn’t exclude assignments to the return value at the start of a line of functions and Get properties.
  • Fixed [#11344] (All): When setting a new folder for options, the modifed changes were saved without user’s consent. Now you cannot change the folder if there are pending changes.
  • Fixed [#11261] (VS): The Sort Code Elements feature didn’t handle gracefully the exception that happens when a code region extends beyond the end line of its parent code element.
  • Fixed [#11303] (VB/VBA): The Review Dead Code feature considered dead methods those that were called as parameters (between quotes) of other methods.
  • Fixed [#11310] (VB/VBA): The Method Callers feature didn’t detect calls to methods that were called as parameters (between quotes) of other methods.
  • Fixed [#11320] (VB/VBA): The Line Numbering feature added line numbers to Dim declarations that included “:” in a comment.
  • Fixed [#11328] (VB/VBA): ArgumentOutOfRangeException happened using the Find feature with a regular expression ending with “.”.
  • Fixed [#11356] (VB/VBA): System.ArgumentException (“Invalid procedure call or argument could happen”) happened trying to locate a code element in a file with no code.
  • Fixed [#11385] (VBA): The line indenter feature didn’t parse correctly the “On Error Resume Next” statement if ended with a statement separator “:”.
  • Fixed [#11357] (VBA): The Method Callers feature didn’t detect calls to a Let or Set property after a statement separator “:”.
  • Fixed [#11302] (VBA): Parameters of functions returning arrays were not parsed correctly.
  • Fixed [#11326] (VBA): The Name of a VBA project includes now always the file name but the Project Name predefined variable doesn’t include it.
  • Fixed [#11294] (VBA): The VBA Editor of AutoDesk Inventor crashed when MZ-Tools tried to show a modal window. This bug was introduced in build due to the use of a COM Shim.
  • Fixed [#11339] (VBA): The Autosave feature tried to save read-only documents.
  • Fixed [#11339] (VBA): The Autosave feature caused problems in Excel if the user was editing a cell.
  • Fixed [Internal] (VBA): The uninstaller for VBA didn’t remove some COM-registration when using Settings > System > Apps & features on Windows 10.
  • Fixed [Internal] (VBA): The Toolbars and menus Options section didn’t show the Context Menu: Project > Export Files item.