如何使用范围值作为shell命令的输入参数

时间:2014-04-23 11:42:47

标签: excel vba shell excel-vba arguments

我有以下shell代码:

RetVal = Shell("""C:\pathforprogram.exe""" + "/argument1 /argument2 /savefile=C:\textfile.txt",1)

我现在的问题是我希望从一个单元格中读取/ argument1。因此,如果Cell A1具有以下字符串/ DoThis,那么我将执行以下操作:

ArgumentA = Range("A1").Value

RetVal = Shell("""C:\pathforprogram.exe""" + "ArgumentA /argument2 /savefile=C:\textfile.txt",1)

但是我收到以下错误:

  

ArgumentA不是有效的输入命令

所以shell命令似乎是读取ArgumentA而不是/ Dothis。

这有什么解决方案吗?谢谢。

1 个答案:

答案 0 :(得分:1)

试试这个:

ArgumentA = Range("A1").value
RetVal = Shell("""C:\pathforprogram.exe""" & ArgumentA & " /argument2 /savefile=C:\textfile.txt", 1)

我还建议您完全限定Range对象:

ArgumentA = ThisWorkbook.Worksheets("Sheet1").Range("A1").Value