Tons of problems. First, the command line you shelled is completely wrong. This is exactly what you ran:
"\\Gary-PC " "C:\Program Files\PS Tools\PsExec.exe " "\\GARY-PC\GaryPC - O\CloseOutlook.vbs "
First, you have the PC name, which does nothing at all, except throw the file not found error.
Next, you have the path to a local copy of PSEXEC. It IS local to your machine isn't it?
You've got quote marks all over the place which just makes the code harder to read and debug. I suggest using Chr(34) in place of the double quotes. It may be a little more typing but makes code easier to debug.
Then you've got some path to the .VBS you're trying to run. You've got the pieces of the command line in the wrong order!
Do yourself a favor and assemble the command line into a variable so you can examine it's contents before you try to Shell the thing:
Dim strPCName, strProgramName, strArgument, cmdLine
strPCName = "\\Gary-PC"
strProgramName = "C:\Program Files\PS Tools\PsExec.exe"
strArgument = "\\GARY-PC\GaryPC - O\CloseOutlook.vbs"
cmdLine = Chr(34) & strProgramName & Chr(34) & " " & strPCName & " " & Chr(34) & strArgument & Chr(34)
Shell(cmdLine, vbNormalFocus)