• ベストアンサー

VBS どうするの?

VBSで、 a=inputbox("0+1=") if lang=1 then  msgbox("あってます。")  else  msgbox("間違えています。") end if として、 msgbox("間違えています。") のあとに、もういちど最初(aの位置)にもどしたいときはどうすればよいでしょう? よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KG_
  • ベストアンサー率62% (34/54)
回答No.2

#1です。すみません思い切り例を間違っていました。 下記が修正後です。 例) ----------------------------------------------------- Do While True  a = Inputbox("0+1")  If a=1 Then   Msgbox "あってます。"   Exit Do  Else   Msgbox "間違えてます。"  End If Loop

その他の回答 (1)

  • KG_
  • ベストアンサー率62% (34/54)
回答No.1

ループ処理で正解の時だけ抜けるようにしてはどうでしょう。 例) ----------------------------------------------------- Do While True  a = Inputbox("0+1")  If a=1 Then   Msgbox "あってます。"   Exit Do  Else   Msgbox "あってます。"  End If Loop

関連するQ&A

  • VBS 教えて!2

    http://oshiete1.goo.ne.jp/qa5372858.html で質問したものです。 「loopにDoがありません」というエラーが発生するのはなぜですか? VBSだとgotoが使えないので、Do~loop命令をつかったのですが、いまいち使いこなせません。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Do total = Inputbox("動画の再生時間を入力してください","ビットレート自動計算機") music = Inputbox("音声ビットレートを入力してください","ビットレート自動計算機") x = 335544/total - music - 15 IF not(x>0) then Msgbox "入力した情報は不正です" elseIF x>656 then Msgbox "推奨映像ビットレートは656kbpsです。" else Msgbox "推奨映像ビットレートは" & x & "kbpsです。" end IF Msgbox "続けて計算しますか?",vbyesno IF vbyes then loop elseIF vbno then Msgbox"終了します" end IF ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • vbsのFolderExistsで部分一致をさせたい

    VBSで以下のコードを作成しましたが動作しません。 ********動作しない************************** if (objFileSys.FolderExists("200810*")= True) then  msgbox "yes" else  msgbox "no" end if ********動作する************************** if (objFileSys.FolderExists("200810")= True) then  msgbox "yes" else  msgbox "no" end if 部分一致でフォルダが存在するかをしたいのですが、 どうしたらいいのでしょうか。 よろしくお願いします。

  • VBSのIF文について

    VBSのIF文の質問です。 OS:XP(SP3) たまたま間違った変数名を使った事ではまってしまった事なのですが 下記がTrueで評価されてしまいました。これは正しい評価なのでしょうか? サンプルコード rcode = 0 a = 0 If rcode = e Then msgbox "「" & rcode & "」 = 「" & e & "」は間違った評価だと思います" else msgbox "「" & rcode & "」 <> 「" & e & "」です" end if

  • VBS でプログラムを先頭から再試行

    VBSの実行中に、プログラムを先頭から再試行させるにはどうしたらいいですか? 2重起動ではなく、あくまでプログラム自身のリスタートです。 処理 A num = msgbox ("プログラムの再試行",5) if num = 4 then '再試行が押されたなら リスタート else 'キャンセルなら WScript.Quit end if 処理 B 上記の「リスタート」の部分の記述をお願いします。

  • If文で何故か望んだ結果が出ない。

    VBSで、 a=inputbox ("a") b=inputbox ("b") c=inputbox ("c") x=(a-2000+b)-c*0.8 If x<c then msgbox x&" type Y" else msgbox " type N" End if と、いうのを制作したのですが、 例えば、a=15000、b=4000、c=5000と数値を入力した場合、x=13000となり、 「x<c」では無いので結果標示が「type N」となるはずなのですが何故か「13000 type Y」と標示されてしまいます。 色々と試行錯誤したのですが、何故このような結果になってしまうのか皆目検討がつきません。 宜しければ何が原因となっているのか御教示お願いいたします。

  • VBSで変数の宣言はできないのですか?

    VBSで、 Dim a As String a = InputBox("MsgBoxに表示する値を入れてください。", , "test") MsgBox a と文章を作って、test.vbsで保存しました。 するとエラーになります。 Dim a As Stringの部分を消すと、問題なく作動します。 もしくは、 Dim a a = InputBox("MsgBoxに表示する値を入れてください。", , "test") MsgBox a でも正常に動きます。 VBSで変数の宣言はできないのでしょうか?

  • VBSでサーバからのファイルコピーができません

    下記ソースについて、コピー元ファイルがDやCドライブにあるものは 指定したコピー先にファイルを貼り付けることができるのですが、 コピー元がサーバー上である場合、指定したコピー先にファイルが 貼りつきません。何か特別な処理等が必要でしょか? ご教授ください。 Dim fs Dim msg Dim f Dim copyFrom copyFrom = Array("D:\VBS\", "D:\VBS\AB\") Dim Ar Const copyTo = "D:\VBS\コピー先\" Do '日付入力のインプットボックスを出力 hizuke = InputBox("日付を入力してください。" & vbCr & vbCr & "例)2000-01-01") 'インプットボックスの入力値が空白である If hizuke = "" Then '日付入力を促すメッセージ出力 MsgBox "日付を入力してください。" Exit Do End If 'インプットボックスの入力値が10文字である If Len(hizuke) = 10 Then 'エラーが発生しても次の処理をすすめる On Error Resume Next '指定した日付の確認ダイアログを表示 msg = MsgBox(hizuke & "でよろしいですか?", vbYesNoCancel) '日付の確認ダイアログでYesを選択 If msg = vbYes Then For Each Ar In copyFrom MsgBox(Ar) 'ファイルオブジェクトを作成 Set fs = CreateObject("Scripting.FileSystemObject") 'コピー元フォルダに存在するファイルを読み込む For Each f In fs.GetFolder(Ar).Files '指定した日付を含むファイル名を検索 If InStr(f.Name, hizuke) > 0 Then MsgBox(copyFrom & "フォルダ") MsgBox(f.Name & "名前") fs.CopyFile Ar & f.Name, copyTo End If Next Next Exit Do Else Exit Do End If Else MsgBox("入力値が不正です。") End If Loop

  • VBSで・・・

    技術者向けって感じではないんですけど、[技術者向] コンピューター カテゴリにしかプログラミングがなかったもんで・・・。 まだまだ初心者のなかの初心者ですが、最近vbsを覚え始めました。 え~っと、 x=inputbox("○○") if x=条件式 then 実行文 else 実行文 if文なのかな? 上の文で、 if x=条件式 thenの 条件式のところの質問です。 そこで、 if x=この部分を教えて下さい。 then 上の形式で、変数xに、もし、○○という文字列を含んでいたら、○○を表示するという文を教えて下さい。 よろしくお願いします。

  • vbsのmsgboxランダム表示について

    つい先日、vbsをいじりだしたばかりの初心者です。 このプログラムなんですが・・・ msgbox("冒険はじまりー"),,("冒険") msgbox("てくてく") i = msgbox("分かれ道だ" & vbCrLf & "はい:左 いいえ:真ん中 キャンセル:右",3,"わかれみち") if (i=6) then msgbox("いきどまり") msgbox("ゲームオーバー") elseif (i=2) then msgbox("いきどまり") msgbox("ゲームオーバー") else msgbox("モンスターがあらわれた",48,"バトル") myhp=10 mymp=5 youhp=20 for i=0 to 10 step 0 num=msgbox("HP(" & myhp & ")" & vbCrLf &_ "MP(" & mymp & ")" & vbCrLf &_ "モンスターHP (" & youhp & ")" & vbCrLf &_ "こうげき:はい かいふく:いいえ まほう:キャンセル",3,"バトル") if(num=6)then myhp = myhp-1 mymp = mymp+1 youhp = youhp-1 msgbox("こうげき!" & vbCrLf &_ "モンスターHP-1" & vbCrLf & "自分のHP-1" & vbCrLf & "自分のMP+1") elseif (num=7) then myhp = myhp+3 mymp = mymp-3 msgbox"HPが3回復 MPが3減った" else youhp = myhp-2 mymp = mymp-2 msgbox"まほうをつかった MP-2 モンスターHP-2" end if if(youhp=0)then msgbox"モンスターに勝った!",64,"やったね" msgbox"おしまい" exit for elseif(myhp=0)then msgbox"負けた",16,"ざんねん" msgbox"ゲームオーバー",16,"ざんねん" exit for end if next end if これの、攻撃とか魔法とかのところでmsgboxにランダムで違うメッセージを出すことは できますか?(3パターンくらいです) 調べてみても書き方がよくわかりませんでした・・・。 それと、ゲームオーバーの場合、もう一度やるかどうかの選択メッセージの出し方も 教えていただけると嬉しいです。 質問が多くてごめんなさい、どうぞよろしくお願いしますm(_ _)m

  • VBSで比較条件について

    Y = 20040601 x = Date g = Mid(x,1,4) & Mid(x,6,2) & Mid(x,9,2) If g < x Then msgbox "w" Else msgbox "y" End If の時にMsgbox にWが入ります。 Yが入る方法はありますでしょうか 教えて下さい。

専門家に質問してみよう