【问题标题】:VBScript Text-To-Speech (to text)VBScript 文字转语音(转文字)
【发布时间】:2021-04-15 13:01:13
【问题描述】:

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

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

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

【问题讨论】:

    标签: vbscript


    【解决方案1】:

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

    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
    

    【讨论】:

    • 我收到“权限被拒绝”错误。我必须以管理员身份运行吗?
    • 更具体地说,我收到 800A0046 错误
    • @Nikolajs 在这种情况下 VBS 不会创建文件,您能否确认 C:\SpeechMessage.txt 存在并且您拥有访问它的完全权限?
    • 你为什么不建议相对路径(几乎总是可写的)?
    • 这似乎奏效了。奇怪的是它以前不起作用
    【解决方案2】:

    这似乎奏效了。起初我遇到了 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-11
      • 2017-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-04
      • 2014-04-29
      相关资源
      最近更新 更多