• 締切済み

VBとExcelを使って英単語テストプログラムを作るには?

英単語とその和訳をエクセルシートとして登録し、そこから和訳をランダムに出題して英単語を入力させる。正解なら正解、間違いなら間違いを表示して、新しい問題をランダムに出題させる・・・こんな単純?なプログラムを作成したいです。具体的なソースか、又は参考になるホームページを教えて下さい。よろしくお願いします。

みんなの回答

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

#1です。 Visual Basic .NET は使った事無いのでアドバイス出来ません。 Visual Basic .NET なら単独でアプリケーションを構築出来る開発言語でしょうから元データはCSVやら独自でバイナリーファイルを作るなりして、 Excel を介在させる必要なんて無いと思うのですが、、、 ロジック的にも既にあがっているサンプルとそう変わらないと思いますけど。 MSのページにExcelを操作するサンプルがありましたので参考にされては? Visual Basic .NET を使用して Microsoft Excel を自動化する方法 http://support.microsoft.com/default.aspx?scid=kb;ja;301982

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;301982
Apprentice
質問者

補足

目的はVisual Basic.netの勉強です。そして英単語を整理するのにはエクセルが便利なのです。それらを両立させかったのですが難しいようですね。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

(1)ワークシートに 例えば (A列) (B列) 机 desk 椅子 chair 窓 window 壁 wall 床 floor 戸 door 屋根 roof 庭 garden 門 gate 木 tree そのほか、C列とX1,Y1セルを使います。 (2)フォームを挿入 ツール-マクロ-VBEの画面で メニューの挿入-ユーザーフォームでユーザーフォームを作る (3)ユーザーフォームにコントロールの貼りつけ 右はCaption ラベル:第x問(プログラムで表示) ラベル:日本語 ラベル:日本語(プログラムで表示) ラベル:英語スペルを入力してください ラベル:英語スペル ラベル:正誤 ラベル:正解・間違い(プログラムで表示) ボタン:入力済み ボタン:次問へ テキストボックス:(英語スペル入力用) (4)挿入-標準モジュール Sub test01() d = Range("A65356").End(xlUp).Row Range("c1").EntireColumn.Clear Randomize i = Int(d * Rnd) + 1 UserForm1.Label5.Caption = Cells(i, "A") Cells(i, "c") = 1 Cells(1, "X") = i Cells(1, "Y") = 1 n = 1 UserForm1.Label8.Caption = "第 " & n & " 問" UserForm1.Show End Sub (5)イベント1 「入力済」のボタンのクリックのイベント Private Sub CommandButton1_Click() i = Cells(1, "X") If UserForm1.TextBox1 = Cells(i, "B") Then UserForm1.Label7.Caption = "正解" Else UserForm1.Label7.Caption = "誤り" End If End Sub (6)イベント2 「次問へ」のボタンのクリックのイベント Private Sub CommandButton2_Click() d = Range("A65356").End(xlUp).Row p01: n = Cells(1, "Y") If n >= d Then UserForm1.Label8.Caption = "全問完了" MsgBox "全問完了" UserForm1.Hide Exit Sub End If i = Int(d * Rnd) + 1 If Cells(i, "C") = 1 Then GoTo p01 Else UserForm1.Label5.Caption = Cells(i, "A") Cells(i, "c") = 1 Cells(1, "X") = i n = Cells(1, "Y") n = n + 1 Cells(1, "Y") = n UserForm1.Label8.Caption = "第 " & n & " 問" UserForm1.Label7.Caption = "" UserForm1.TextBox1.Text = "" UserForm1.TextBox1.SetFocus End If End Sub (使い方) test01を実行 英語スペルを入力 「入力済み」をクリック 正解・間違いのどちらかが表示される。 訂正し「入力済み」クリック可能 「次問へ」をクリック ----- あとは改良してください。

Apprentice
質問者

お礼

勉強してみます。ご丁寧な回答ありがとうございました。

Apprentice
質問者

補足

エクセルのVBAではなくて、VisualBasic.netで作成したいのですが同じでしょうか?手順がまだ良くわかりません。もしよろしければ教えて下さい。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

ExcelとVBAだけでもっとも単純にやるならこんな感じとか、、、 '------------------------------------------------------------- Dim i As Integer Sub 問題() Dim Result  Result = Array("いぬ", "ねこ", "かえる")  Randomize  i = Int(3 * Rnd)  Range("A1:C1").ClearContents  Range("A1").Value = Result(i) End Sub Sub 回答() Dim Result  Result = Array("dog", "cat", "frog")  If LCase(Range("B1").Value) = Result(i) Then    Range("C1").Value = "OK"  Else    Range("C1").Value = Result(i)  End If End Sub '------------------------------------------------------------- 問題を実行 A1に問題が入る B1に単語を記入 回答を実行

Apprentice
質問者

お礼

勉強してみます。ありがとうございます。

Apprentice
質問者

補足

VisualBasic.netで作成したいのですが、Excelシートとの関連づけが良くわかりません。よろしければ教えて下さい。

関連するQ&A

  • Visual Basic.netで英単語学習ソフトを作成したいです

    登録済の英単語の和訳をランダムに表示、英単語を入力させて正解なら正解と表示、不正解なら不正解と正答を表示して、次の単語をランダムに表示させる・・・といった単純な学習プログラムを作成するにはどうすれば良いですか?外部テキストファイルの読み込み方がわかりません。できれば具体的なソースを、或いはやさしく解説しているサイトを教えて下さい。よろしくお願いします。ちなみに今何問目の表示とか、正解数や得点の表示などは一切要りません。ひたすら問答を繰り返すだけのもので良いです。

  • VBAで単語テストを作りたいんですが…

    閲覧ありがとうございます。 弟が高校受験を控えているのですが、パソコンをいじってばかりで全く勉強をしようとしません。そこで、パソコンで出来る英単語テストをVisualBasicで作ろうと思い立ったのですが、出来上がるのは構想ばかりで初心者の私には難しくてプログラムの組みようがありませんでした。手も足も出ず困っています。どうか力をお貸しいただけたらと思います。 構想はこんな感じです・・・ ・ワークシート上に100問、英単語と対応する和訳を入れる。 ・ワークシート上に英単語表示欄と、回答入力欄を作る。 ・回答を入力し、答えあわせボタンをおす。正解しないと次へ進めない。(メッセージボックスで「誤りです」と表示させる) ・次問へのボタンをクリックすると新しい問題が表示される。(英単語は100問のうちからランダムに表示されるようにする) ・終了ボタンを押すと、100問中何問出来たかをワークシート上に表示させる。(50問で諦めた場合でも/100表記でかまいません) VBAしかわからないので、必ずVBAでお願いします。 多少難しくても、頑張りますのでよろしくお願いします。

  • エクセルデータが使える英単語フラッシュカードソフト

    覚えたい英単語をエクセルシートに入力してありますが、これを利用できる英単語暗記用のフラッシュカードのソフトがありますでしょうか?

  • 英単語を効率よく覚えたい。

    いま英単語を暗記しているのですが、使っている単語帳はアルファベット順で、関連語も一つにまとまって、しかも似たような意味の語もひとかたまりになっている形式です。この形式ですと、例えば「理解する」という意味の語が出てきたとします。似たような意味が続いているので、その次の単語(熟語)の意味がもしわからなくても、なんとなく「理解する」というような意味だろうな・・・と推測できてしまって、いざそれがいきなり単独で出てきたら分からない状態になってしまう気がします。 前置きはここまでにしておいて、今望んでいるソフトは自分で英単語とその意味をあらかじめ入力しておいて、それをランダムに出題するという形式の暗記用のソフトを探しているのですけど何かいいのはありませんか? よろしくお願いします。

  • 数値英単語変換プログラム

    C言語で、入力された数値を英単語に変換するプログラムを作ろうとしています。0~999,999,999 までの整数値について,正しく英単語に変換できるようにしたいのですがどうしていいかわかりません。どうか教えてください。

  • エクセルについてなのですが・・・

    自分は今、高校生です。エクセルを使って英単語の問題用紙を作りたいと思っています。そこで聞きたいのですが、例えば「シート2」のA-1~C-4にそれぞれ違う英単語をかいて、その英単語のどれかをランダムで「シート1」のA-1に記載させる方法ってありませんか?

  • mac 英単語の単語登録

    mac で、グーグル日本語入力とことえりとを併用しています。 頻繁につかう単語を単語登録したいのですが、登録したいのは、長い英単語(英熟語?スペース、ハイフン等ふくむ)です。 普通に日本語入力で登録すると、表示に際して、その英単語が大文字で表示されてしまいます。 長いにもかかわらず、非常に繰り返し使う英単語なので、一部分だけを打ち込んだら全部が表示されるようにしたいのです。 その単語は、「 ◯◯ emond:◯◯.oeu kiki:jekkk」 (適当です) という形態で使うもので、この◯◯の中にはその時々に応じて英単語が入ります。 なので、これを表示させる際には、パソコンはだいたいアルファベット表示になっていますので、できれば、アルファベット入力で登録しておけたらなと思っています。 例えば、一旦登録しておけば、「じゅうしょ」と打ち込めば自分の住所を候補一覧に表示させることができますよね。 あれの英語入力版、ないしは、携帯の文字入力予測機能のようなものを期待しています。 良い方法を御存知の方がいらっしゃいましたら、どうぞよろしくお願いいたします。

    • 締切済み
    • Mac
  • 英単語・英熟語の暗記

    英単語は「システム英単語Basic」、 英熟語は「英熟語フォーミュラ1000」 を使っています。 自分なりに試行錯誤して、暗記の方法を考えました。 ルーズリーフを用意して、半分に折ります。 左側に英文、右側に訳文を書きます。 このとき、本で赤字になっている部分は赤で書きます。 右側に赤シートを被せて赤字の部分を隠して、 自分で考えた訳を書きます。 次に赤シートを外して、答え合わせをします。 全部正解するまで繰り返します。 一ページに10個くらいの文を書いて、 一日2ページ覚えるようにしています。 翌日、また赤シートで隠してチェックします。 全部正解するまで繰り返します。 今回の質問は、単語を覚えるか訳を覚えるか相談です。 訳を覚える方法だと文脈から簡単に正解が類推できてしまうので、 本当に力がついているのか不安なところがあります。 かといって単語の方を覚える方法だと、 長文読解で単語の意味が分かるようになっているか 不安なところがあります。 なるべくあらゆる種類の問題に対する力をつけたいと思います。 単語と訳のどちらを覚えるのが得策でしょうか。

  • Excel等MSOfficeソフトでの単語テスト作成について

    当方現在大学生です。 大学でいくつか外国語を学んでいるのですが、その外国語をExcelに入力して印刷し、単語帳のようにして使用していました。 最近このデータを利用できないか思い、いろいろなフリーソフトをダウンロードして単語テストができないか?と思い試してみましたが、これだとおもうものが見つかりませんでした。 (ちなみにここでいう単語テストはプリントとして印刷するものではなく、パソコンで入力して正誤判定ができるもののことです。) そこで質問・お願いなのですが、 (1)上のような単語テストを作るには、MS-OfficeのソフトではやはりExcelがいいでしょうか? (2)Excelや他のMS-Officeのソフトでマクロ等を用いて上のような単語テストをつくるのに参考となる書籍・Webサイトを教えてください。 (3)Excelで単語帳を作成する上でためになるテクニックなどはありますか。(単語の入力の省略などはNGです。) 以下、補足ですが ・発音機能は不要 ・ランダムで問題を選択して出題する機能 ・間違えた問題だけを集計する機能 ・英語専用ではない というのが望ましい条件です。 長文失礼しますが、よろしくお願いします。

  • 英単語のサイトを探しています。

    英単語のサイトを探しています。 1つ1つ単語を入力して調べるのではなく、スクロールして探せるタイプを探しています。 ※1つ1つ単語を入力しなくて済むものを探しています。 http://homepage2.nifty.com/katakanaEnglish/knword.htm 上記のものを1つ見つけましたが、そのほかにご存知ないでしょうか?

専門家に質問してみよう