質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Q&A

解決済

1回答

2330閲覧

VBScriptでのcallをステートメントとして認識させずに使いたいです。(初心者です。)

退会済みユーザー

退会済みユーザー

総合スコア0

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

0グッド

1クリップ

投稿2015/09/11 12:42

編集2015/09/11 12:59

こんにちは。中学生のVBScript初心者です。
中学生の英単語問題集を作っています。電話をする意のcallを問題にしたいのですが、callはステートメントとして使われているので問題にしようとしてそのまま使ってもコンパイルエラーが出てしまい自分の思うように使えません。以下のソースコードでcallをステートメントとして認識させず英単語の一つとして使用するにはどうすればよいでしょうか。

VBScript

1call=inputbox("電話をする") 2if call=call then ’inputboxの名前と英単語は同じ名前にしてあります。こちらは正解の場合です。 3msgbox "正解です" 4count=count+1 ’正答数にカウントされます。 5elseif isempty(call) then ’問題をやめるときの処理です。 6msgbox "「キャンセル」または閉じるボタンがクリックされました。プログラムを終了します。" 7WScript.Quit 8else ’不正解の場合です。 9msgbox "不正解です" 10end if

初心者なものであまりよくないソースコードの書き方かと思われますが、どなたかご教示いただければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

回答としての「call」という英単語は、画面に表示するなど「文字列」として意味を持っているのであり、それを代入する「変数の名前」がcallである必要性は全くありません。
ですので、例えば以下のように修正してみてください。

VBScript

1ans = inputbox("電話をする") 2 3if ans = "call" then ' 正解の場合 4 msgbox "正解です" 5 count = count + 1 ' 正答数にカウント 6elseif isempty(ans) then ' 問題をやめる 7 msgbox "「キャンセル」または閉じるボタンがクリックされました。プログラムを終了します。" 8 WScript.Quit 9else ' 不正解の場合 10 msgbox "不正解です" 11end if

答えの入れ物である「変数」の名前をいつも想定される正解と同じ名前にしなければならないとしたら、問題の数だけ変数を用意しなければならなくなりますよね?

それと、変数の中身と比較したい「文字列」は、ダブルクウォート"で括る必要があります。

ぜひ頑張ってくださいね!

投稿2015/09/11 13:18

編集2015/09/11 13:21
pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/09/12 11:26

こんにちは。回答ありがとうございます。 ステートメントを文字列として認識させるにはダブルクオーテーションで括ればよいのですね。 助かりました!本当にありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問