PDA

View Full Version : Evaluating a macro name with a macro in it


mevans
06-02-2015, 06:45 PM
Suppose I define a macro like this:
%PHASE%-ReturnErrorCheck

I can successfully assign a value to this macro. It works as expected; however, I'm trying to figure out the notation to get the value out of %PHASE%-ReturnErrorCheck. I've tried various things like:
%%PHASE%-ReturnErrorCheck%
[%PHASE%-ReturnErrorCheck]
%[%PHASE%-ReturnErrorCheck]%

But they don't work.

I found one way to get the value out of it:
[Application.Macros(vbldMacroAll).Item("%PHASE%-ReturnErrorCheck")]

That works, but I'm not too fond of it. I supposed I could wrap it up in a subroutine to make it look nicer. It just seems there ought to be another way to get the value out.

kinook
06-02-2015, 08:05 PM
Yep, or

[vbld_AllMacros.Item("%PHASE%-ReturnErrorCheck").Value]

Or create a project or global script function like this:

Function GetMacro(name)
GetMacro = vbld_AllMacros.Item(name).Value
End Function

and call like this:

[GetMacro("%PHASE%-ReturnErrorCheck")]