在vba的括号内打印双引号?

时间:2017-11-02 11:47:11

标签: vba excel-vba access-vba excel

我想以不同的方式写下面的行:

Shell ("myapp.exe")

我已经尝试了但它没有像我预期的那样工作: 它正在这样工作:

Dim var1
var1 = """m" & "y" & "app" & "." & "exe"""
Shell (var1)

但不是这样

Dim var1
var1 = """m" & "y" & "app" & "." & "exe"""
Dim var2
Set var2 = Shell(var1)

var2

它不像那样工作。我做错了什么。

如何纠正这个?

2 个答案:

答案 0 :(得分:1)

您可以使用Chr(34)函数返回"字符,例如以下行:

Dim var1
var1 = Chr(34) & "m" & "y" & "app" & "." & "exe" & Chr(34)

或者,更短的版本:

var1 = Chr(34) & "myapp.exe" & Chr(34)

Chr()函数可以与您可能需要的任何ASCII值一起使用。你可以找到其他ASCII值here

答案 1 :(得分:1)

您需要避免在引号中加上引号。虽然Shell允许使用带引号的字符串,但如果您想要与初始命令相同的结果(没有它们),则不应该将它们放入。

var1 = "m" & "y" & "app" & "." & "exe"