Hi Kevin,
The syntax for setting a ZPL Macro solve looks like the following:
surf5 = TheLDE.GetSurfaceAt(5)
macroSolve = surf5.RadiusCell.CreateSolveType(ZOSAPI.Editors.SolveType.ZPLMacro)
macroSolve._S_ZPLMacro.Macro = 'Test'
surf5.RadiusCell.SetSolveData(macroSolve)
Note that the string is just the name of the macro - the extension and path name is not included.
Just like in the GUI, the ZPL Macro solve has some limitations. For example, the macro will have different syntax depending on if you intend to place the solve before or after the STOP. You can read more about this in the Help System file 'The Programming Tab > About the ZPL > Using ZPL Macro Solves.'
Let us know if you have any other questions about this!
All the best,
Allie