2016-08-13 113 views
-1

私はこの問題を検索しようとしましたが、オンラインでは見つかりませんでした。 彼女は私がしたいことです:私はtest.vbsファイルを実行すると、私はユーザーの入力を受け取り、バッチファイルに渡します。 VBScriptコードの行4で800A01C2 - 間違った数の引数または無効なプロパティの割り当て

800A01C2 - Wrong number of arguments or invalid property assignment

私はこのエラーを得ました。ここで

は私test.vbsというコードです:

Set WshShell = CreateObject("WScript.Shell") 
strInput = InputBox("Please enter the date (yyyymmdd)", "Enter Date") 
set strInput = WScript.Arguments 
WshShell.Run "mybatch.bat" & strInput, 0 

出力するだけの簡単なコードVBSからバッチファイルに渡されたパラメータ:

echo Parameter = %1 > Var.txt 

答えて

3

WScript.Argumentsはオブジェクトであり、そうですstrInput(割り当てによる)。文字列連結演算子&は、文字列(および文字列化された折り返し文字)を連結できますが、オブジェクトは連結できません。証拠:

>> a = "a " & WScript.Arguments 
>> 
Error Number:  450 
Error Description: Wrong number of arguments or invalid property assignment 

ので

WshShell.Run "mybatch.bat" & strInput, 0 

失敗しなければなりません。したがって、割り当てを削除し、InputBox()関数から取得した文字列を使用するか、Argumentsコレクション(Setなし)のアイテムにアクセスしてください。

「mybatch.bat」とパラメータの間に空白/空白があることを確認してください。

+0

ありがとうございました。それは動作します! – Josie

+0

@ジョジーあなたの問題を解決したことがわかったら、[回答を受け入れる](http://meta.stackoverflow.com/a/5235)を検討してください。 –

関連する問題