ダウンロード read_text.hta (1.4 KB)
設計(プログラムの概要)
今回作成する文章読み上げソフトは、以下の条件を備えるものとします。
- ある程度実用的である
- 簡単に作成できる機能のみで構成する
この条件を備えるものとして、以下の4つの機能を実装することにします。
- テキストエリアの文章を読み上げる
- 読み上げを停止する
- Microsoft Agentのプロパティシート(設定ダイアログ)を表示する
- クリップボードからの文字列を取得する
また、これらの機能の実行は、それぞれの機能に対応したボタンを作成することで実現するものとします。
プログラムの作成
プログラム作成の順番は、次の通りとなります。
- 「read_text.hta」の作成 - ボタンやテキストエリアのレイアウト
- Microsoft Agentの利用1 - オブジェクトの埋め込みと初期化
- Microsoft Agentの利用2 - 読み上げと停止
- Microsoft Agentの利用3 - プロパティシート(設定ダイアログ)の表示
- クリップボードから文字列を取得
「read_text.hta」の作成 - ボタンやテキストエリアのレイアウト
まずは、「read_text.hta」という名前の空のテキストファイルを作成します。ファイルを作成する場所はどこでも構いません。例として「C:\CodeZineSample\read_text.hta」などのパスに作成します。また、今回の記事では、この「read_text.hta」以外のファイルは作成しません。
次に、拡張子が「.hta」のファイルが正しく実行できるか確認します。作成した「read_text.hta」をダブルクリックしてください。タイトルバーに、パスが表示され(上記例なら「C:\CodeZineSample\read_text.hta」と表示され)、本体部分に何も表示されないウィンドウが現れれば正しく実行されています。通常のWindowsならば、拡張子が「.hta」のファイルをダブルクリックすれば、このようにウィンドウが現れます。

上記の実行確認が終われば、この「read_text.hta」をテキストエディタで開いてください。まずは、HTMLを記述して、インターフェイスを作成していきます。以下に、記述する内容を示します。
<html> <head> <title>文章読み上げ</title> </head> <body> <form name="f"> <textarea name="ta" rows=20 cols=80> Microsoft Agentを使った文章読み上げソフト </textarea> <br> <br> <input type="button" value="クリップボードから文字列取得" onClick="GetTxt()"> <input type="button" value="テキストエリアを読み上げ" onClick="SpeakTxt()"> <input type="button" value="読み上げを停止" onClick="StopSpeak()"> <br> <br> <input type="button" value="エージェントの設定ダイアログを開く" onClick="OpenOption()"> </form> </body> </html>
各ボタンのonClick属性に記述してある関数は、実際にはまだ「read_text.hta」内には存在しません。これは、以降の記事で作成していきます。textareaのサイズ(rows、cols)は、各自の好みで数字を変えてください。
| ボタン名 | 対応する関数 |
| クリップボードから文字列取得 | GetTxt() |
| テキストエリアを読み上げ | SpeakTxt() |
| 読み上げを停止 | StopSpeak() |
| エージェントの設定ダイアログを開く | OpenOption() |
この記事は参考になりましたか?
- MS Agentを使った文章読み上げソフト連載記事一覧
-
- MS Agentを使った文章読み上げソフト(後編)
- MS Agentを使った文章読み上げソフト(前編)
- この記事の著者
-
柳井 政和(ヤナイ マサカズ)
クロノス・クラウン合同会社 代表社員http://crocro.com/オンラインソフトを多数公開。プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説も書いています(『裏切りのプログラム』他)。面白いことなら何でもOKのさすらいの企画屋です。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
