使用MacScript将参数连接到Visual Basic中的脚本末尾

时间:2014-12-07 02:52:17

标签: shell excel-vba vba excel

我正在尝试运行需要参数的脚本,并且无法弄清楚如何将脚本的名称与参数连接起来。我正在使用Visual Basic for Excel 2011,我正在尝试使用MacScript运行该脚本。例如,我的脚本被称为do_a_bunch_of_stuff.sh要运行脚本,我需要传递几个变量(参数);例如string1string2。如果我在VB中使用以下脚本,那么一切正常:

MacScript ("do shell script ""/Users/mikesmith/Desktop/directory2/do_a_bunch_of_stuff.sh string1 string2"""

但是,我需要从VB程序的其他子程序中传递string1string2。所以,我想定义两个变量,我分配不同的和变化的值。所以,我尝试了以下方法:

DIM variable1, variable2 as STRING

variable1 = string1

variable2 = string2

MacScript ("do shell script ""/Users/mikesmith/Desktop/directory2/do_a_bunch_of_stuff.sh variable1 variable2"""

哪个不起作用。我还尝试将引号中的整个字符串定义为单个字符串,其中我将路径,文件名和参数连接在一起。这也不起作用。

有什么建议吗?我感谢任何帮助...

1 个答案:

答案 0 :(得分:0)

VB和VBA中的连接字符串应该使用&

完成 像这样:

"do shell script ""/Users/mikesmith/Desktop/directory2/do_a_bunch_of_stuff.sh """ & variable1 & " " & variable2

你也可以在multy步骤中完成,如下所示:

Dim command, script as String
script = """/Users/mikesmith/Desktop/directory2/do_a_bunch_of_stuff.sh"""
command = "do shell script"
command = command & " " & script & " " & variable1 & " " & variable2  

你也应该像这样关闭括号:

MacScript(command)