【问题标题】:How to send a right curly bracket with Dragon NaturallySpeaking's advanced scripting?如何使用 Dragon NaturallySpeaking 的高级脚本发送右大括号?
【发布时间】:2016-09-02 05:33:57
【问题描述】:

如何使用 Dragon NaturallySpeaking 的高级脚本发送右卷曲 bracket(即 })?

MSDN 在SendKeys Statement 上的文档说:

要指定大括号字符,请使用 {{} 和 {}}。

发送左大括号(即{),可与以下高级脚本命令配合使用:

Sub Main
    SendKeys "{{}"
End Sub

但是,当我尝试对右大括号(即})执行相同操作时,它不起作用:

Sub Main
    SendKeys "{}}"
End Sub

为什么?

【问题讨论】:

  • “高级脚本”,这让我有点笑了。
  • @Krythic 那是因为我使用的是 Dragon NaturallySpeaking 的专业版本。

标签: sendkeys naturallyspeaking


【解决方案1】:

这是高级脚本中的一个老故障。

您可以改用 ASCII 码:

Sub Main
SendKeys Chr(125), True
End Sub

【讨论】:

  • 为什么不只是SendKeys "}"?这适用于 DNS13 及更高版本。
  • @pgilm 这可能会也可能不会,具体取决于您的键盘布局。这可能只是很少的问题,但它仍然可能发生。几年前我也遇到过同样的事情。
【解决方案2】:

您不需要自己转义右大括号,只需这样做:

SendKeys "}"

但如果你想发送一个完整的“支撑”表达式,它会变得更加复杂。例如,要使用脚本发送“{Esc}”,您需要这样:

SendKeys "{{}Esc}"  ' {Esc}

第,

【讨论】:

  • 谢谢,我确实在尝试发送大括号表达式 :) 我没有注意到单个大括号 SendKeys "}" 正在工作。
【解决方案3】:

绕过这个问题的一个不方便的方法是:通过剪贴板,如下所示。

Sub Main
    originalClipboard = Clipboard
    Clipboard("{")
    SendKeys "^v"
    Wait(0.2)
    Clipboard(originalClipboard)
End Sub

【讨论】:

  • 不过,这不是必需的。为什么要为摆脱正确的支架而烦恼呢?只要SendKeys "}" 就应该这样做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多