0

私はこの Windows 音声認識 (WSRMacro) スクリプトを持っています。これは、複数の単語を 1 つの単語に合成します。

"Happy children"
-> "Happychildren"

しかし、特定の状況下でスクリプトのバグが発生し、問題の原因を推測する方法がわかりません。上記の例は機能しますが、次の例は機能しません。

"Happy children bake a cake"

上記のように単語を合成する代わりに、Alternates パネルに次のプロンプトが表示されます。

-> Alternates Panel (Say the number next to the item you want followed by OK): 
(1) Replace that withhappychildrenbakeacake
(2) replace that withhappychildrenbakeacake
(3) replace that with no space happy no space 
    children no space bake no space a no space cake

上記の代替パネルの出力から、以下のスクリプトの特定のバグを推測できますか?

または、バグの性質についてより有用なフィードバックを得るためにスクリプトに追加できるものはありますか?

  <command priority="5">
    <listenFor>compound that</listenFor>
    <emulateRecognition>select that</emulateRecognition>
    <sendKeys>{250 WAIT}{{CTRL}}c{250 WAIT}</sendKeys>
    <script language="VBScript">
      <![CDATA[
      that = Application.clipboardData.GetData("text")
      Set regEx = New RegExp
      regEx.Pattern = "[^\s\w,;:]"
      If regEx.Test(that) Then
        Application.SetTextFeedback("Try again without any punctuation selected")
      Else
        regEx.Pattern = "(\s) *(\S)"
        regEx.Global = True
        that = regEx.Replace(" " & that, "$1no space $2")
        On Error Resume Next
        Application.EmulateRecognition("replace that with" & that)
        If 0 <> Err.Number Then
          Application.SetTextFeedback("Try again with only the digits selected")
        End If
      End If
    ]]>
    </script>
  </command>
4

1 に答える 1

0

Text Services Framework をネイティブにサポートしていないアプリケーションでこれを使用しようとしているようです。

もっと深刻なことに、組み込みコマンド「そこからスペースを削除する」または「それを連結する」を使用しないのはなぜですか?

于 2009-10-08T22:32:05.350 に答える