情况:
我正在尝试从windows命令行运行VBScript。脚本打开excel,导入
.bas
文件并在中运行宏。然后,宏应显示VBA MsgBox。
-
如果我右键单击
.vbs
文件,然后选择
Run VBScript
,它工作得很好。
-
如果我从命令行在正确的位置(即桌面)执行以下操作,则不会显示MsgBox,尽管所有操作看起来都运行正常。
Test.vbs
我所尝试的:
我看过很多文章,其中一些是我列出的参考文献。特别是,我通过自己的方式解决了这个问题
answer
.我已经尝试过以下方法:
CScript Test.vbs
WScript Test.vbs
CScript //logo Test.vbs
WScript //nologo Test.vbs
在阅读了这个答案之后,我确认Windows知道如何启动。vbs文件,这似乎是不言而喻的,因为我可以右键单击并运行。
因此:
1) 正在运行
assoc .vbs
给了我期望的:
:\Windows\System32>assoc .vbs
.vbs=VBSFile
2) 正在运行
ftype VBSFile
给出了预期的:
VBSFile="%SystemRoot%\System32\WScript.exe" "%1" %*
3) 我尝试在命令行字符串中添加暂停和等待时间,但没有成功。
4) 我添加了各种标志,包括调试,例如。
CScript //X
,没有区别。
问题:
如何从命令行运行VBScript并显示msgbox?
VBSCript(测试vbs)
Option Explicit
Sub ExcelMacroExample()
Dim xlApp
Dim xlBook
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:\Users\User\Desktop\Test.xlsb", 0, True)
xlApp.VBE.ActiveVBProject.VBComponents.Import "C:\Users\User\Desktop\Test.bas"
xlApp.DisplayAlerts = False
xlApp.Run "MessageMe"
xlApp.Wait Now + TimeSerial(0,0,2)
'xlApp.Quit
xlApp.DisplayAlerts = True
' Set xlBook = Nothing
' Set xlApp = Nothing
End Sub
测验bas公司
Public Sub MessageMe
Msgbox "Hello"
End Sub
备注:
所有文件都位于桌面文件夹中。
参考文献:
-
Running Scripts from the Command Line
-
VBS file doesn't run through cmd prompt
-
Running Scripts from the Command Prompt
-
How to run VBScript from command line without Cscript/Wscript