如何将参数从vba传递给vbs(VBScript)?

如何将参数从vba传递给vbs(VBScript)?

问题描述:

我有以下VBA:如何将参数从vba传递给vbs(VBScript)?

Sub StartVbs(sVbsPathNmExt) 
Shell "Explorer.exe """ & sVbsPathNmExt & """", 1  
End Sub 

而下面的VBScript ParamPassTest.vbs:

MsgBox("Hello x")  
WScript.quit 

它显示消息 “你好x” 如果我这样称呼它从VBA:

Sub do_StartVbs() 
    Call StartVbs("Z:\somepath\ParamPassTest.vbs") 
End Sub 

如何将V中的“x”作为参数传递给VBS?

我想这两种方法在这里和他们要么错误或导致我的反病毒关掉一切: passing argument from vba to vbs

而不是松开我的反病毒规则,我怎么传递的参数,从一个VBS VBA?

+0

确实[这](https://*.com/a/2806731/1188513)不回答你的问题? –

+0

那么把它写入文本文件而不是参数?好吧,我想这个工作也是如此。谢谢! – mountainclimber

+0

当您在Slai的答案中回应时:您的反病毒是问题,而不是代码...您需要将您的Macro-Spreadsheet列入白名单,然后您需要将您的VBS文件列入白名单。我不确定您使用的是哪种AV产品,但如果根据文件的散列列出白名单,则可能必须在每次保存时将其列入白名单。 –

可以在VBA试试这个:

Shell "WScript ""C:\path\1.vbs"" 123" 

而这1.vbs文件:

If WScript.Arguments.Count > 0 Then MsgBox WScript.Arguments(0) 
+0

试过了。我怀疑这是“有效”,但我的防病毒每次都会对它进行核准。感谢您的尝试! +1 – mountainclimber