dポイントプレゼントキャンペーン実施中!

使用ソフトウェア
Microsoft Visual Basic 2005 Express

ラベルに書かれている英語を読み上げる機能を追加したいのですが、どうやったらいいかさっぱりわかりません。。
まずspeech機能?を追加しなきゃいけなかった気がするのですが・・
なんという機能を追加したらいいかと、読み上げるコードのサンプルを教えて頂けると助かります。よろしくお願いします。

A 回答 (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
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/15 18:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!