2014-04-23 109 views
1

我有以下shell代码:如何使用范围的值作为输入参数shell命令

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

我的问题是,现在我想/参数1用于从一个单元读取的例子。因此,如果单元格A1具有以下字符串/ DoThis然后我将做到以下几点:

ArgumentA = Range("A1").Value 

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

但是我得到以下错误返回:

ArgumentA是不是一个有效的输入命令

所以看起来shell命令读取的是ArgumentA而不是/ Dothis。

有没有解决这个问题的方法?谢谢。

回答

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 
+1

非常感谢您Simoco。并建议使代码更加严格。我也注意到,对于更多的输入参数,我需要写&ArgumentA&“”&ArgumentB&。 – user3564371

相关问题