2017-05-18 17 views
-4

私はVBScriptでいくつかのコーディングをしようとしていましたが、エラーが出ましたが、何が間違っているのか分かりません。VBSコードが正しく動作しない

a = InputBox("Enter Numerator") 
b = InputBox("Enter Denominator") 

If b = 0 Then 
    MsgBox "b is 0 , that's not right probably, I'll set b=1" 
    b = 1 

MgBox "Contribution" & a & ":" & b & "=" & MojeDeleni(a, b) 

Function MySplitting(a,b) 
    On Error Resume Next 
    MySplitting = a/b 
    If Err.Number <> 0 Then 
    MySplitting = "Splitting error no." & CStr(Err.Number) & " " & Err.Description 
    End if 
    Err.Clear 
End Function 
+2

あなたのコードで 'MoejeDeleni'は何ですか?それは機能ですか? – GTAVLover

+2

取得したエラーを*表示*してください。また、行9( 'MgBox" Contribution "...")にタイプミスがあり、最初の 'If'におそらく' End If'がありません。 –

+0

Changed End IfとMgBoxをMsgBoxに変更しましたが、まだチェコのエラーです。私のエラーメッセージはおそらく役に立ちません –

答えて

0

コードにいくつかのタイプミスがあります。

If B = "" Then '<< String CANNOT BE Integer, YOU SHOULD USE "" TO CHECK IF IT IS EMPTY >> 
    MsgBox "Denominator is 0, That's not right probably, I'll set Denominator to 1" 
    B = 1 
End If '<< End If IS MISSING HERE >> 

またはIf CInt(B) = 0 Thenを使用できます。

Function MySplitting(A, B) 
    On Error Resume Next 
    MySplitting = CInt(A)/CInt(B) 
    If Err.Number <> 0 Then 
     MySplitting = "Splitting Error : " & CStr(Err.Number) & " " & 
Err.Description 
    End If 
    Err.Clear 
End Function 

MgBox "Contribution" & A & " : " & B & " = " & MojeDeleni(A, B) '<< HERE MgBox SHOULD BE MsgBox >> 

あなたは一つの言語で新しい変数を割り当て、別の言語でそれを使用したい場合は、彼らは以下のように同じ変数であり、スクリプトエンジンを指示しない限り、それを行うことはできません。

MojeDeleni = MySplitting(A, B) 

だから次のように動作するはずです。何らかのエラーが発生したときに表示さからあなたのメッセージ「貢献」を防ぐために

MsgBox "Contribution is " & A & " : " & B & " = " & MojeDeleni 

は、次の操作を実行できます

MojeDeleni = MySplitting(A, B) 

If InStr(Result, "Error") = 0 Then 
    MsgBox "Contribution is " & A & " : " & B & " = " & MojeDeleni 
Else 
    MsgBox MojeDeleni 
End If