文本转语音替代 Word

文本转语音替代 Word

微软似乎决定从 Word 2007 中删除文本转语音功能。有没有合适的替代品,最好不需要单独的应用程序?我希望它直接从 Word 中读取。

这实际上也不是一个可访问性问题。我只是希望能够听到我大声朗读的内容。这会让措辞不当变得更加明显。

答案1

是的,微软又这么做了。Word 2007 中已删除了文本转语音功能。
幸运的是,有一种相当简单的方法可以用一点宏代码来实现它。

文章Word 文本转语音描述如何使用 VBA 宏向 Word 添加两个按钮 SpeakText 和 StopSpeaking。

图像

答案2

MS Word 2007 中的文本转语音

以下是启用 TTS 的宏。这些宏应放入“normal.dot”,以便它与 MS Word 应用程序一起加载。

按 Alt+F11 转到宏编辑器并粘贴此代码。您需要向快速访问工具栏添加三个按钮。您可以通过单击 MS Word 标题栏上的小向下箭头“自定义快速访问工具栏”来执行此操作,您将在其中找到保存、撤消和重做按钮。在下拉菜单中选择“更多命令”以打开“Word 选项”窗口。在左侧菜单上选择“自定义”,并将“从中选择命令”设置为“宏”。添加所有三个宏,这将在快速访问工具栏上创建三个按钮。现在您的 MS Word 已启用 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

来源

答案3

您可以尝试将文本复制/粘贴到请阅读。它有免费版和付费版,免费版有效伟大的! 只需安装,复制您的文本,就可以了!:)

相关内容