Substituição de Text-To-Speech para Word

3

Parece que a Microsoft decidiu remover a conversão de texto em fala do Word 2007. Há um substituto decente, de preferência que não exija um aplicativo separado? Eu gostaria de ler diretamente da palavra.

Esta também não é uma questão de acessibilidade. Eu gostaria apenas de poder ouvir o que escrevo em voz alta. Torna as palavras pobres mais óbvias.

    
por Sean Edwards 11.12.2009 / 19:49

3 respostas

5

Sim, a Microsoft fez isso de novo. Text-to-Speech foi removido do Word 2007.
Felizmente, existe uma maneira fácil de implementá-lo com um pouco de código de macro.

O artigo Texto do Word para fala descreve como adicionar ao Word dois botões usando macros VBA, SpeakText e StopSpeaking. / p>

    
por 11.12.2009 / 20:06
1

Conversão de texto em fala no MS Word 2007

Abaixo estão as macros para ativar o TTS. Essas macros devem ser colocadas em “normal.dot”, então elas são carregadas junto com o aplicativo MS Word.

Pressione Alt + F11 para ir ao editor de macros e cole este código. Você precisa adicionar três botões para acessar rapidamente a barra de ferramentas. Você pode fazer isso clicando na pequena seta para baixo que diz “Personalizar barra de ferramentas de acesso rápido” na barra de título do MS Word, onde você encontrará os botões salvar, desfazer e refazer. Selecione “Mais comandos” no menu suspenso para abrir a janela “Opções do Word”. Selecione “Personalizar” no menu do lado esquerdo e “Escolher comandos de” deve ser definido para “Macros”. Adicione as três macros e isso criará três botões na barra de ferramentas de acesso rápido. Agora sua palavra MS é habilitada para TTS.

Option Explicit
Dim speech As SpVoice
Dim i As Integer

Sub SpeakText()
On Error Resume Next
If i = 0 Then
  Set speech = New SpVoice
  If Len(Selection.Text) > 1 Then 'speak selection
  speech.Speak Selection.Text, _
  SVSFlagsAsync + SVSFPurgeBeforeSpeak
  Else 'speak whole document
  speech.Speak ActiveDocument.Range(0, _
    ActiveDocument.Characters.Count).Text, _
    SVSFlagsAsync + SVSFPurgeBeforeSpeak
  End If
Else
  If i = 1 Then
  speech.Resume
  i = 0
  End If
End If
End Sub

Sub StopSpeaking()
On Error Resume Next
speech.Speak vbNullString, SVSFPurgeBeforeSpeak
Set speech = Nothing
i = 0
End Sub

Sub PauseSpeaking()
On Error Resume Next
If i = 0 Then
  speech.pause
  i = 1
Else
  If i = 1 Then
  speech.Resume
  i = 0
  End If
End If
End Sub

Fonte

    
por 11.12.2009 / 20:27
0

Você sempre pode tentar copiar / colar o texto em ReadPlease . Ele tem versões gratuitas e pagas, e as versões gratuitas funcionam ótimo! Basta instalar, copiar o seu texto, e você está fora! :)

    
por 29.08.2010 / 03:10