前回は、公式をプログラムとして入力しておいて、変数の値を変更することにより、なんども同じプログラムで計算させました。もちろん、変数の値が違えば、結果も毎回違いました。でも毎回プログラムを変更するのは面倒ですね。そのあたりを改良してみましょう。
毎度のことですがメモ帳でプログラムを記述します。
以下のプログラムを入力してください。
Dim hankei, menseki
hankei = InputBox ("半径を入力してください")
menseki = hankei * hankei * 3.14
MsgBox menseki
間違いなく入力されたら、enn.vbsというファイル名で保存しましょう。
保存したら、ダブルクリックして実行です。
半径を聞いてきました。では、2を入れてみましょう。
そして、OKを押すと、、、
おおおおお、答えが出てきました。2 x 2 x 3.14 の答え、12.56が表示されています。
もう一回やってみましょう。
半径を聞いてきました。では、8を入れてみましょう。
そして、OKを押すと、、、
おおおおお、答えが出てきました。8 x 8 x 3.14 の答え、200.96が表示されています。
前回と違うのは、
hankei = InputBox("半径を入力してください")
この行だけです。前回は、
hankei = 2
になっていて、数字を変更するたびに、プログラムを変更していました。今回は、プログラムが聞いてきます。なんてかっこいいんでしょう。
hankei = InputBox ("半径を入力してください")
この、InputBoxって、MsgBoxに似てますね。そうです。MsgBoxの仲間です。MsgBoxもInputBoxも、Windowsに用意されている機能を呼び出しているわけです。
InputBoxは後ろに、(“と”)でくくられた部分を表示して、その上、入力するところも表示してくれます。んで、OKと押すと、その結果が得られるわけです。
その後、前回の変数の概念により、InputBoxの結果に対して、hankei という表札がつけられたわけです。プログラマ用語でいうと、InputBoxの返値がhankeiに代入されたといいます。
ではちょっと意地悪をしてみましょう。先ほどのプログラムを実行します。
半径を聞いてきましたここで、意地悪して、「こんにちは」と入れてみましょう。
んで、OKと押すと。。。。
うご、怒られた。
むちゃしちゃだめですねぇ。
さすがに、コンピュータでも、こんにちは x こんにちは x 3.14は計算できないようです。
今回はInputBoxという、Winodwsに用意されている機能を使いました。
MsgBoxも、Windowsに用意されている機能です。
Winodwsに用意されている機能はこれらだけではありません。もっとたくさんあります。
こちらはマイクロソフトのサイトに置いてある、僕らが使える機能の取扱説明書です。すんげぇ量がありますので、とても覚えてられません。プロのエンジニアも覚えていません。いつもこのサイトを見ながらやっています。こんなことできないかな。取扱説明書を調べて、あ、こんなんがある、あんなんもある、んじゃこれとこれを組み合わせたらこんなことができるな。ってな感じでいつも見ながらやっています。
これからも、ちょっとづつ紹介していくつもりです。おたのしみに。
今日のまとめ
- 今日はコンピュータが生意気にも、質問してきた。
- むかついたので、いじめてやった。
- Windowsには知らない機能がいっぱいあるらしい。
Dim hankei, menseki
hankei = InputBox (“半径を入力してください”)
menseki = hankei * hankei * 3.14
MsgBox “面積を表示します”
MsgBox menseki
と入力したら面積が表示される前に「面積を表示します」と表示されます!
ここで質問です面積の上に面積は・・・と表示させるにはどうすえばいいですか??
色々試してみましたがダメでした
最後の行のMsgBox mensekiの後にMsgBox “面積は・・・”と打ってもダメでした
ぜひ教えてください!!
もしかして既に解決しているかもしれませんが、一応。
おそらく、質問の内容は、「面積は100です」みたいに表示したいってことかと思います。
strMenseki = CStr(menseki)
MsgBox “面積は” + strMenseki +”です”
のようにCStrで数値を文字列に変換してから、プラス記号で繋ぎます。
この場合のプラス記号は、文字列の接続という意味に解釈されます。
誰でもプログラマ(WSH編)(その9- 何度だって挑戦)で、同じような技をつかって、「5回で正解しました」ってメッセージを出しており、そこに簡単な解説を書いています。
すみません
またまた質問なのですが
メセージをだしOKをクリックすると指定したファイルが開く
というような感じにしたいんですけど可能ですか?
ファイルを開くこと自体は、@ITのWindows Script Host入門の記事のやり方で、できると思います。具体的には、
WSScript.CreateObject(“Scripting.FileSystemObject”)
で、ファイルシステムオブジェクトを作成して、それを使ってファイルにアクセスできます。
ファイルシステムオブジェクト で検索するといろいろ解説しているページが見つかるかと。
#ただ、僕が質問をちゃんと理解出来ていないような。。。変な回答してる気がする。
diさんのアドバイスでやってみたら出来なかったので、未改良版です。
dim a,b
a = inputbox(“対角線の本数を調べたい多角形の辺の数を入力して、OKを押してください。ただし、入力する数値は3以上の整数とします。”)
b = a*(a-3)/2
msgbox”入力された辺の数の多角形の対角線の本数は”
msgbox b
msgbox”本です”
ここの2行目と3行目は改行しません。
多角形の対角線の本数計算ツール.vbsで保存しました。
改良版出来ました。
dim a,b
a = inputbox(“対角線の本数を調べたい多角形の辺の本数を入力して、OKを押してください。ただし、入力する数値は4以上の整数とします。”)
b = a*(a-3)/2
strb = cstr(b)
msgbox”対角線の本数は”+strb+”本です。”
同じく、2行目と3行目は改行しません。
ちなみに公式は、「対角線の本数=辺の本数×(辺の本数-3)÷2」を使いました。
とてもわかり易いです。ありがとうございます。
現在、取扱説明書はどこに存在しますか?
http://msdn.microsoft.com/ja-jp/library/cc364455.aspx
ここ、、、かな?
ありがとうございます。見てみます!!