如何将多个变量从 Excel 宏传递给 VBS Send Keys?

How do I pass multiple variables to VBS Send Keys from an Excel macro?

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

我遇到的问题是将多个变量传递到我的 sendkeys 脚本。

下面是我如何从 excel 宏传递它:

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

strParam1 是数据库中的用户名(例如 KIERANL),strParam2 是我正在记录的项目类型(例如 Internal)。

我遇到的问题是从 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)