我正在编写一个VBA宏,它会将一个字符串发送到命令行,如下所示:
str = "SELECT (edr.VersionName + ' ' + edr.BuildName)"
RSP = Shell(Environ$("COMSPEC"), vbNormalFocus)
SendKeys str
但问题是像(和+这样的特殊键在翻译中丢失;命令行最终如下所示:
SELECT edr.VersionName ' ' edr.BuildName
如何防止这些特殊字符在此过程中丢失?
答案 0 :(得分:3)
您可以使用此字符串显示“+”符号:
str = "SELECT (edr.VersionName += ' ' += edr.BuildName)"
在VBA中的SendKeys
函数中,'+'符号用于表示{SHIFT}键。所以,{SHIFT} =,实际上是'+'符号;至少在我的键盘上。
使用该逻辑,'+ 9'和'+ 0'应该给你'('和')'但是我还没有让它们工作。
修改强>
好的,您可以显示括号,但您必须将它们包含两次:
str = "SELECT +9" & "(edr.VersionName += ' ' += edr.BuildName)" & "+0"
同样,请记住,上面的字符串适用于我的键盘(标准英语)。如果您使用不同的键盘布局,“+”符号后面的字符很可能会有所不同。
答案 1 :(得分:3)
实际上我发现了另一种显示这些特殊字符的方法,用{}括起来它会显示在我的命令行中。谢谢你的帮助!