Перевод статьи alexreg "Text-To-Speech" Оригинал - DeveloperFusion
А не заняться ли нам созданием простенькой программы-говорилки. Для этого нам, как всегда, потребуются контрол Text2Speech и всякие библиотеки с сайта Микрософта.
Шаг первый - Добавление контролов.
Для начала начнем новый проект. Ставим ему имя - TextToSpeech, имя формы frmSpeak. Добавим контрол Direct Text-to-Speech через Projects/Components. Растянем этот контрол на форме и неприлично обзовем его spkSpeak. Свойство Visible изменим на False. Добавим 10(десять!!!) кнопок. Присвоим каждое имя btnNumbers и Caption - числовое значение на единицу большее индекса данной кнопки.(Это значит, что нам необходимо создать так называемый Control Array. Делается это элементарно - copy/paste на кнопке. Нужно это для того, чтобы обращаться ко всем кнопкам сразу, разделяя их только по индексам). Также нам понадобится текстбокс (txtText) с активированным свойством Multiline. Ну и напоследок еще одна кнопка btnSpeak c Caption = Speak.
spkSpeak.Speak "You clicked button number " & btnNumbers(Index).Caption & "."
Select Case Index + 1
Case Is = 1
Shell Notepad, vbNormalNoFocus
Case Is = 2
Shell Wordpad, vbNormalNoFocus
Case Is = 3
Shell Paint, vbNormalNoFocus
Case Is = 4
Shell Calculator, vbNormalNoFocus
Case Is = 5
Shell Volume, vbNormalNoFocus
Case Is = 6
Shell InternetExplorer, vbNormalNoFocus
Case Is = 7
Shell SoundRecorder, vbNormalNoFocus
Case Is = 8
Shell Clipboard, vbNormalNoFocus
Case Is = 9
Shell Dialer, vbNormalNoFocus
Case Is = 10
Shell Solitaire, vbNormalNoFocus
End Select
Это мы пишем на кнопке Speak.
spkSpeak.Speak txtText.Text
Как эта красота работает? Когда мы нажимаем кнопочку прога проговаривает на чистейшем Инглише "Вы нажали кнопень номер такой-то" и запускает программу, которая соответствует данной кнопке.
Более того, если мы пишем что-либо в текстбоксе прога это проговаривает.
Да, получилось немного банально, RTFM для самых маленьких.