2015-08-05 2 views
0

У меня есть два сценария: One.vbs и Email.vbs.Как получить входные параметры?

One.vbs вызывает Email.vbs с аргументом reportFile (String), как показано ниже.

Dim objShell 
Set objShell = WScript.CreateObject("WScript.Shell") 
objShell.Run "email.vbs" , reportFile 

При попытке извлечения аргумент в Email.vbs в

' == Read the Argument 
fileName = WScript.Arguments.Item(0) 

Я получаю ошибку

Subscript из диапазона

с кодом ошибки 800A0009.

Я попытался много разобраться в этом, но ничего не работает, как ожидалось. Просто хочу знать, правильно ли я делаю это, если не ошибка?

ответ

1

Проблема заключается в том, что второй аргумент objShell.Run является intWindowStyle (см MSDN):

Дополнительно. Целочисленное значение, указывающее появление окна программы . Обратите внимание, что не все программы используют эту информацию.

Попробуйте вместо этого, т.е. без запятой:

objShell.Run "email.vbs " & reportFile 
+0

Нет, это не сработало. – Vishwa

+0

Вы копировали и вставляли то, что я вам дал? Побеседуйте с ним; оно работает. Я написал буквально сотни сценариев VB, которые это делают. –

+0

@Vishwa Возможно, вам нужно будет добавить кавычки вокруг 'reportFile', если строка содержит пробелы:' 'email.vbs" "" & reportFile & "" "" ' –