For those spells you are kinda stuck with the place holder macro approach, I use something like this in my personal "action bar saver" addon
Lua Code:
local max_acc_macros = MAX_ACCOUNT_MACROS
local place_holder_macro = {}
place_holder_macro.size = 0
local Create_Place_Holder_Macro
local function Place_Spell(spell_id,action_slot)
ClearCursor()
if spell_id==150544 then -- summon random favorite mount
C_MountJournal.Pickup(0)
else
PickupSpell(spell_id)
if GetCursorInfo()==nil then
if place_holder_macro[spell_id]==nil then
Create_Place_Holder_Macro(spell_id)
end
PickupMacro(place_holder_macro[spell_id])
end
end
PlaceAction(action_slot) --the cursor will have either the spell or a place holder macro
ClearCursor()
end
function Create_Place_Holder_Macro(spell_id)
place_holder_macro.size = place_holder_macro.size+1
local macro_name = "PH"..string_format("%02d",place_holder_macro.size)
local spell_name,_,texture = GetSpellInfo(spell_id)
CreateMacro(macro_name,texture,"#showtooltip\n/use "..spell_name)
place_holder_macro[spell_id] = macro_name
end
The place holder macros will be named PH01, PH02, PH03 and so on as spells are not found.
I delete all place holder macros on login (any macros in the format PH## is considered a place holder macro) so I don't end up with a lot of trash macros from other chars.