• ベストアンサー

ラベルの文字列を読み上げたい

chibita_papaの回答

  • ベストアンサー
回答No.1

面白そうなので試しに作ってみました。 EXCELを使うと簡単に出来ます。 EXCELのOpen,Closeは、 http://www.bcap.co.jp/hanafusa/dotnet/Excel01.htm を参考にさせていただきました。 声は、コントロールパネルの音声認識の音声合成で変更します。 日本語も可能です。 Public Class Form1 Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click Call test() End Sub Sub test() Dim xlApp As Object = CreateObject("Excel.Application") Dim xlBooks As Object = xlApp.Workbooks Dim xlBook As Object = xlBooks.Add Dim xlSheets As Object = xlBook.Worksheets Dim xlSheet As Object = xlSheets.Item(1) xlApp.Visible = False 'True xlApp.Speech.Speak("Good morning.") xlApp.Speech.Speak("Hello.") xlApp.Speech.Speak("Good evening.") xlApp.Speech.Speak("I wish you sweet dreams!") xlApp.Speech.Speak("Good-bye.") MRComObject(xlSheet) 'xlSheet の解放 MRComObject(xlSheets) 'xlSheets の解放 xlBook.Close(False) 'xlBook を閉じる MRComObject(xlBook) 'xlBook の解放 MRComObject(xlBooks) 'xlBooks の解放 xlApp.Quit() 'Excelを閉じる MRComObject(xlApp) 'xlApp を解放 End Sub Private Sub MRComObject(ByRef objCom As Object) 'COM オブジェクトの使用後、明示的に COM オブジェクトへの参照を解放する Try '提供されたランタイム呼び出し可能ラッパーの参照カウントをデクリメントします If Not objCom Is Nothing AndAlso System.Runtime.InteropServices. _ Marshal.IsComObject(objCom) Then Dim I As Integer Do I = System.Runtime.InteropServices.Marshal.ReleaseComObject(objCom) Loop Until I <= 0 End If Catch Finally '参照を解除する objCom = Nothing End Try End Sub End Class

参考URL:
http://www.bcap.co.jp/hanafusa/dotnet/Excel01.htm
j-y-a
質問者

お礼

お礼が遅くなってしまい申し訳ありませんでした。 また、とてもご丁寧に回答を書いていただきありがとうございました。

関連するQ&A

  • Microsoft Visual C++ 2008 Express E

    Microsoft Visual C++ 2008 Express EditionとMicrosoft SQL Server 2008 を使用してWindowsフォームアプリケーションでプログラミングを行っています。 今完成させたい機能は、データベースの値をDataGridViewに表示する。 その表示画面のDataGridViewに値を書き込み更新ボタンをクリックしたらそれがデータベースに 反映される。 DataGridViewのレコードを削除でき、それもデータベースに反映させることができる。 以上の三つです。 DataSetにデータを読み込ませて、DataGridViewに入れるとか、BindingSourceを使用する必要が あるなどは、どこのサンプルコードにも登場してくるのでなんとなく分かるのですが、完成には至って いません。 Visual C++のサンプルコードがあれば助かるのですが、今はVC#などのサンプルコードを見ながら プログラムを作成しています。 知識があまりないものなので、もしよろしければやさしい解説を宜しくお願い致します。

  • 選択した文字列の前と後ろに文字列を挿入

    こんにちは、僕は、Visual Basicを使い始めてまだ一ヶ月程度の初心者です。僕は今Visual Basic 2005 Express EditionでHTMLエディタを作っています。そこで、選択した文字列の前と後ろに「<!--」「-->」などを挿入する機能を付けたいのですが可能でしょうか?

  • visual studioを外部から操作したい

    .net framework 2.0を使用しています。 visual studio C# 2005 expressにはメソッドの追加ウィザードがついていないらしいので、 そのウィザードと似たような機能をvisual studioに作成したコードを挿入するアプリケーションとして 作りたい思ってるのですが、visual studioには外部から操作できるように関数などは公開されているのでしょうか? visual studioとメソッド追加ウィザードアプリケーションを両方起動して visual studio内で記述しているテキストのカーソルの位置にメソッド追加ウィザードアプリケーション で作成されたメソッドコードを挿入するやり方です。

  • Word2003文字列挿入(追加)のマクロ

    Microsoft Offie Word 2003 (OS; Windows XP)で、 以下のように、数値が羅列されたテキストがあります。 01 05 02 06 42 35 82 22 99 03 10 43 53 72 04 11 21 22 01 34 09 99 33 99 81 32 08 63 58 92 34 71 43 ここで、この数値の中に 99 を含んでいる行の行末に ”発見!”という文字列を追加したいと思っています。 (1行中に複数の 99 があっても行末に1つ”発見!”を追加) このような結果を得たいのです。 01 05 02 06 42 35 82 22 99 03 発見! 10 43 53 72 04 11 21 22 01 34 09 99 33 99 81 発見! 32 08 63 58 92 34 71 43 サンプルコードを示して頂ければ幸いです。 宜しくお願い致します。

  • Visual Studio 2008 Standard Edition

    Visual Studio 2008 Standard Editionを買おうかどうか迷っています。Microsoftのページを見るとExpress Editionでも商用利用ができると書いてあります。Standard Editionは、追加機能があるようですが、買う意味はあるのでしょうか。

  • Visual BasicのAPIビューワについて

    Microsoft Visual Basic 2008 Express Editionを使って、API関数を使用し始めた初心者です。  Microsoft Visual Basicには、APIビューワがあると聞きましたが、私の使っているMicrosoft Visual Basic 2008 Express Editionにはどこを探しても、アドインやそれらしいものは見つかりません。Microsoft Visual Basic 2008 Express EditionにはAPIビューワが実装されていないのでしょうか?  よろしくお願いします。

  • 1枚のラベルに2つのQRコードの印字

    ■製品名を記入してください。 【 ラベルプリンタ(QL800)】 ■どのようなことでお困りでしょうか?  相談したいこと、トラブルに至った経緯、試したこと、エラーなどを教えてください。 【現在Visual basicを用いてラベルプリンタでQRコードを印刷しています(b-pac使用)。ラベル1枚に対してそれぞれ異なるデータが入ったQRコードを印刷することは可能でしょうか。可能な場合VBのそれを印刷するサンプルコードも教えたいただきたいです。                        】 ■お使いの環境について教えてください。 ・パソコンもしくはスマートフォンのOSは何ですか? (例)Windows10/8.1/7・MacOS・iOS・Android 【    Windows10    】 ・どのように接続されていますか? (例)有線LAN・無線LAN・USBケーブル・bluetooth 【   USBケーブル     】 ・関連するソフト・アプリがあれば教えてください。 【    P-touch Editor    】 ・電話回線の種類は何ですか? (例)アナログ回線・ISND回線・ひかり回線・IP電話 【        】 ※OKWAVEより補足:「ブラザー製品」についての質問です。

  • F1での関数ヘルプ機能について

    Microsoft Visual C++ 2005 Express Editionを使っています。 外部ツールにサクラエディタを使用しています。 PHPの時は外部HTMLヘルプの設定でchm形式の「php_manual_ja.chm」を指定することで 選択した関数にF1を押すとその関数の説明や使い方など書いてあり、とても便利でした C++の開発のときもそのような機能が欲しいと思い調べたのですが見つかりませんでした。 Microsoft Visual C++ 2005 Express Editionでデフォルトで英語でのヘルプライブラリは あったのですが日本語がありませんでした。 よろしくお願いします。

  • VS2005でCUDAを使える環境

    Visual Studio 2005 Express で CUDA を使用したいのですが おそらく、パスの設定がうまくいかず、sample fileを実行できません。 ネットでよくパスを設定して・・・ とあるのですが、実際どこをどのように書き換えたり追加すのかがわかりません><。。。 どなたか、詳しい手順を教えていただけないでしょうか? よろしくおねがいします。

  • 文字列変換ついて

    開発環境  XP Home Edtion Microsoft Visual C++ 2008 Express Edition Microsoft SQL Server 2005 Express Edition Visual C++で入力フォームから数字の入力文字列でのInsert文を実行してそのまま反映させることはできたの ですが、日本語やアルファベットが入らないのですがどうしたらよいでしょうか? PSTR strText; String^ data; char *ree; ree=(char*)strText; String^ data; data=gcnew String(ree); SqlConnection^ sqlConn = gcnew SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\SOUTUKEN\\test.mdf;Integrated Security=True;User Instance=True"); sqlConn->Open(); str= "INSERT INTO table1 (test) VALUES("+data+")"; SqlCommand^ sqlCmd = gcnew SqlCommand(str,sqlConn); SqlDataReader^ exeReader = sqlCmd->ExecuteReader(); sqlConn->Close(); 何卒よろしくおねがいします。