Even with Pro, there's a fundamental issue with what you're trying to do - Players click buttons, Characters don't. While you can use the API to grab a Character controlled by the Player doing the clicking, this only works properly if the players have permission on a single character sheet - otherwise you'll need to either make an assumption (introducing potential broken macros) or prompt the player (annoying, as it will happen all the time). There's no "default character id" for a Player, API scripts find a character by searching every single Character object in the Campaign, and filtering them down to any which contain the Player's ID in the "controlled by" key. If the players will only ever be controlling a single character sheet, just use Vince's solution. Create the macro as a "@{selected|" macro, then give each player there own version with their character name in place of "selected". Notepad, or any other text editor, should let you replace all with Ctrl-H to do this extremely quickly and easily.