I gave the above alternatives because I've never used OpenArgs. I know that function calls usually allow multiple values in an argument using '|'. I don't know, however, how you would distinguish them when reading the OpenArgs argument or if it even allows multiple values.
One way around it, however, would be to concatenate the values into one string using a delimiter. For example,
strOpenArgs = str1 & ";" & str2 & ";" & ...
You can then use string functions such as InStr, Left, and Mid, to separate the string into various arguments. For example,
strOpenArgs
str1 = Left(strOpenArgs, InStr(1,strOpenArgs,";"

-1)
strOpenArgs = Mid(strOpenArgs, InStr(1,strOpenArgs,";"

+1)
str2 = Left(strOpenArgs, InStr(1,strOpenArgs,";"

-1)
strOpenArgs = Mid(strOpenArgs, InStr(1,strOpenArgs,";"

+1)
...
Here's another alternative.