you said:

But I need to pass some variables to the VBscript code, which I can do via... Shell strPathName & " " & variable1 & " " & variable2, vbNormalFocus.

of course you can. because strings are read by the shell command as part of the pointer.

However, all I can pass here are basic variables like strings. What I'd like to be able to pass are classes or data objects. Is that at all possible when running VBscript via the shell command?

no it's not possible. using the shell command runs a file pointer / program. how could you pass objects to a windows feature that has a primary purpose of executing commands procedurally? arguments for commands are not programming objects.

unless i'm mistaken....