VBScript 文字转语音(转文字)

时间:2021-04-15 13:01:13

标签: vbscript

我使用 VBScript(我的经验有限)制作了一个非常简单的文本到语音转换程序。它只是打开一个命令提示符,你输入一些东西,然后 Windows spvoice 说出消息。

我希望这个应用程序接收消息输入并将该文本添加到单独的 .txt 文件中。所以基本上,这将是文本到语音到文本。 VBScript 是否太受限制,无法读写文本文件?

Dim message, sapi
  message=InputBox("Enter text:","Enter Text")
  Set sapi=CreateObject("sapi.spvoice")
  sapi.Speak message

2 个答案:

答案 0 :(得分:2)

您可以使用以下内容将消息写入文本文件。

Set objFileToWrite = CreateObject("Scripting.FileSystemObject").OpenTextFile _ 
("C:\SpeechMessage.txt",2,true)
objFileToWrite.WriteLine(message)
objFileToWrite.Close
Set objFileToWrite = Nothing

VBScript Text Files: Read, Write, Append

编辑:

创建以下内容以避免在 C 的根目录上出现权限问题:

C:\Speech\

并尝试使用此代码,如果文件不存在则创建该文件,如果存在则追加到该文件中。

Set objFileToWrite = CreateObject("Scripting.FileSystemObject")
If objFileToWrite.FileExists("C:\Speech\Message.txt")  then
       Set objFileToWrite = objFileToWrite.OpenTextFile("C:\Speech\SpeechMessage.txt",8,true)
Else 
      Set objFileToWrite = objFileToWrite.CreateTextFile("C:\Speech\SpeechMessage.txt")   
End If 
objFileToWrite.WriteLine(message)
objFileToWrite.Close
Set objFileToWrite = Nothing

答案 1 :(得分:1)

这似乎奏效了。起初我遇到了 800A0046 错误的问题。为了解决这个问题,我在 C: 驱动器中创建了一个新文件夹并植根于该文件夹。

Dim message, sapi, objFileToWrite

message=InputBox("What do you want me to say?","Speak to Me")
Set sapi=CreateObject("sapi.spvoice")
sapi.Speak message

Set objFileToWrite = 
CreateObject("Scripting.FileSystemObject")
_.OpenTextFile("C:\Speech\LiveChat.txt",2,true)
objFileToWrite.WriteLine(message)
objFileToWrite.Close
Set objFileToWrite = Nothing