如何将参数从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?
答
可以在VBA试试这个:
Shell "WScript ""C:\path\1.vbs"" 123"
而这1.vbs文件:
If WScript.Arguments.Count > 0 Then MsgBox WScript.Arguments(0)
+0
试过了。我怀疑这是“有效”,但我的防病毒每次都会对它进行核准。感谢您的尝试! +1 – mountainclimber
确实[这](https://stackoverflow.com/a/2806731/1188513)不回答你的问题? –
那么把它写入文本文件而不是参数?好吧,我想这个工作也是如此。谢谢! – mountainclimber
当您在Slai的答案中回应时:您的反病毒是问题,而不是代码...您需要将您的Macro-Spreadsheet列入白名单,然后您需要将您的VBS文件列入白名单。我不确定您使用的是哪种AV产品,但如果根据文件的散列列出白名单,则可能必须在每次保存时将其列入白名单。 –