Quite often it's either the parameter is empty, object name mismatch or the object isn't on the layout.
What you can do is put the object name into a variable so you can see it, inspect the layout.
The object is not a merge field I hope? Use the debugger to go step by step.
Thanks. I realised that I had defined the target field as a button (to perform the script), so I removed the button attribute, so it's now just a container field. Now, when I perform the script, the "Go to object" step returns error 3, "Command is unavailable (for example, wrong operating system, wrong mode, etc.)". The parameter contains the correct object name. Is there, perhaps, something about "Go to object" being incompatible with container fields?
Container fields are definitely compatible with Go To Object. Maybe the object got corrupted somehow.
Try deleting and recreating it on the layout.
... and now it's fine. Deleting and re-adding the field did the trick. I guess it was because I had previously defined the field as a button. Thanks for your help.