音声読み上げ例3題 (2個) (SNo.072) 1.Voice Text コントロールを使って音声読み上げ 2.ExcelのSpeech.Speak で音声読み上げ 3.SAPI を使って音声読み上げ |
|
使用コントロール | Button3 〜 Button5 TextBox1 AxTextToSpeech1 |
その他条件 | WindowsXP(Vista) Visual Basic 2005(VB2008) Excel2002以上 |
1.Voice Text コントロールを使って音声読み上げ
Private Sub Button3_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button3.Click 'Voice Text コントロールを使って音声読み上げ 'Microsoft Voice Text コントロール( Vtext.dll )を、フォームに貼り付けて、 '日本語の男性の声 ' TextToSpeech1.TTSMode = "A778E061-A936-11d1-B17B-0020AFED142E" '日本語の女性の声 AxTextToSpeech1.TTSMode = "a778e060-a936-11d1-B17B-0020AFED142E" 'その他の国は下記で調べて下さい。 'http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msagent/spengin_7p2m.asp AxTextToSpeech1.Speed = 120 '読み上げるスピード AxTextToSpeech1.Speak(TextBox1.Text) End Sub |
|
2.ExcelのSpeech.Speak で音声読み上げ(0) 別途、Excel & Word・他のところにも掲載 Private Sub Button4_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button4.Click 'ExcelのSpeech.Speak で音声読み上げ Dim xlApp As Object Dim xlSpeech As Object xlApp = CreateObject("Excel.Application") xlSpeech = xlApp.Speech 'コントロールパネルの音声認識の音声の選択で LH Kenji か LH Naoko を '選んでおいて下さい。 Excel2002 のCD 内に入っています。 '下記コードを実行して入っていない場合はウィザードが表示されます。 xlSpeech.Speak(TextBox1.Text) 'xlSpeech 及び xlApp を解放 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSpeech) xlSpeech = Nothing System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) xlApp = Nothing End Sub |
|
3.SAPI を使って音声読み上げ Private Sub Button5_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button5.Click 'SAPI を使って音声読み上げ Dim voic As Object voic = CreateObject("SAPI.SpVoice") voic.Speak(TextBox1.Text) System.Runtime.InteropServices.Marshal.ReleaseComObject(voic) voic = Nothing End Sub |
|
VB6.0用の掲示板 No.9564 での書き込みで知り、.NET で色々試した見ました。ExcelのSpeak
メソッド はExcel2002 からの機能のようでCD内にあるのでインストールして下さい。 http://www.microsoft.com/msagent/downloads/user.asp#tts 等を参考にして下さい。 |