When executing the objshell.Run ("C:\TestFolder\Bo ok1.pdf") you request the shell command
C:\TestFolder\Bo ok1.pdf
This is interpreted as a request to execute the program C:\TestFolder\Bo.exe with the ok1.pdf parameter.
Do you really want the shell to execute the command
"C:\TestFolder\Bo ok1.pdf"
where quotation marks are used by the shell to group parts of the command.
To get this command you need to execute a statement
objshell.Run """C:\TestFolder\Bo ok1.pdf"""
source share