如何将多个variables传递给Excelmacros中的VBS发送键?

所以我目前正在研究一个macros,它可以检测Outlook收到的电子邮件,获取发送信息并复制电子邮件内容。 从这里我有一个Excel电子表格设置来检查用户,如果它发现用户列出我有一个sendkeys脚本来login我们的帮助台系统的工作。

我遇到的问题是传递多个variables到我的sendkeys脚本。

下面是我从Excelmacros中传递过来的信息:

strParam1 = AssystID strParam2 = Sheets("Ext Database").Range("G3").Value strVBSPath = "C:\Scripts\testsofar.vbs" Shell ("wscript.exe " & strVBSPath & " " & strParam1 & strParam2) 

strParam1是数据库中的用户名(例如KIERANL),而strParam2是Itemtypes(例如Internal),我将其logging下来。

我遇到的问题是从SendKeys脚本获取正确的输出。 目前我正在使用的行: WshShell.SendKeys Wscript.Arguments(0) ,我相信应该通过strParam1发送,但是当我通过多个值传递它结合他们,如上面的例子将发送: KIERANLINTERNAL所有在一行。

我的问题是我究竟做错了什么? 我已经看了这个页面: https : //technet.microsoft.com/en-us/library/ee692833.aspx ,我不能看到我的方法确切是什么问题。

我想从你所描述的问题是你所传递的论点之间缺乏分离。

目前你的命令在通过时看起来像这样

 wscript.exe C:\Scripts\testsofar.vbs KIERANLINTERNAL 

问题是两个参数合并成一个时,实际上你想这个

 wscript.exe C:\Scripts\testsofar.vbs KIERANL, INTERNAL 

要在代码中这样做,只需像这样连接两个参数之间的逗号

 Shell ("wscript.exe " & strVBSPath & " " & strParam1 & ", " & strParam2)