Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA调用带引号的Shell字符串_Vba_Excel_Shell_Quotes_Double Quotes - Fatal编程技术网

Excel VBA调用带引号的Shell字符串

Excel VBA调用带引号的Shell字符串,vba,excel,shell,quotes,double-quotes,Vba,Excel,Shell,Quotes,Double Quotes,我真的不知道如何处理我的问题。 所以我想要的是: Call Shell("C:\Temp\Zint\zint.exe -d "1234"",vbNormalFocus) 我在windows命令行中使用此命令:C:\Temp\Zint\Zint.exe-d“1234” 只有在引号之间给出数字时,它才起作用 我无法处理这些引语,所以请你解释一下我应该如何使用它们 谢谢 在VBA中,通过将引号加倍来转义引号: Call Shell("C:\Temp\Zint\zint.exe -d ""1234""

我真的不知道如何处理我的问题。 所以我想要的是:

Call Shell("C:\Temp\Zint\zint.exe -d "1234"",vbNormalFocus)
我在windows命令行中使用此命令:C:\Temp\Zint\Zint.exe-d“1234”

只有在引号之间给出数字时,它才起作用

我无法处理这些引语,所以请你解释一下我应该如何使用它们


谢谢

在VBA中,通过将引号加倍来转义引号:

Call Shell("C:\Temp\Zint\zint.exe -d ""1234""",vbNormalFocus)
解决办法是:

Call Shell("C:\Temp\Zint\zint.exe" & " " & "-d" & Chr(34) & "1234" & Chr(34), vbNormalFocus)

谢谢它不起作用,但我找到了解决办法。。。我一整天都在解决这个问题。。。调用Shell(“C:\Temp\Zint\Zint.exe”&“&”&“-d”&Chr(34)和“1234”&Chr(34),vbNormalFocus)@Dominik您的答案与Tim在这里发布的答案相同:)@SiddharthRout-可能需要去掉
-d“1234”
中的空间才能使它工作,但问题中肯定没有任何东西表明它不应该在那里,因此,我同意Tim的回答比OP的自我回答更好,这与我的建议完全相同(但更复杂,IMHO),但如果要使代码正常工作,需要去掉
-d
-1234
之间的空格,则现在
-d
和“1234”之间没有空格,请将问题更新为“当我在windows命令行中使用此命令时:
C:\Temp\Zint\Zint.exe-d“1234”
它不起作用,但
C:\Temp\Zint\Zint.exe-d“1234”
起作用”