[英]Runtime Error when Calling VBS from Batch
批處理代碼(選項1)
我通常使用它來簡單地從批處理中調用vbs,不包含任何變量。
@echo off
myVBSpath=\\UNC\path
set vbsFileName=myVBS.vbs
cscript "%myVBSpath%\%vbsFileName%"
pause
批處理代碼(選項2)
我通常在將變量從批處理傳遞到VBS時使用此選項...在vbs文件路徑和名稱之后包括變量名稱和值。
@echo off
set myVBSpath=\\UNC\path
set vbsFileName=myVBS.vbs
cscript //NoLogo "%myVBSpath%\%vbsFileName%" /attachment: "%myAttachment%"
pause
結果批處理錯誤消息
無論我在上面使用哪個選項,都會收到以下錯誤消息:
\\\\ UNC \\ path \\ myVBS.vbs(11,1)Microsoft VBScript運行時錯誤:參數非可選
VBS代碼
Dim xlApp
Dim xlBook
'Dim attachmentFullName
'attachmentFullName = WScript.Arguments.Named("attachment")
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("\\UNCpath\myExcelFile.xlsm", 0, True)
xlApp.DisplayAlerts = False
xlApp.Run "myMacro" ', Cstr(attachmentFullName)
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
故障排除
我並不需要一個變量來傳遞給VBS,所以批號(選項1)應該是要走的路,它是如何,我開始。 當我收到上面的運行時錯誤消息時,我嘗試使用選項2傳遞錯誤的變量,只是看它是否提供了cscript命令正在尋找的額外參數。 不幸的是,選項2給出了相同的錯誤消息。
這是一個相當簡單的批處理腳本,所以我真的很茫然,覺得我只是盯着它看了太長時間,使它變得比需要的更難,而我只是缺少了一些簡單的東西。
你們中的任何一個都願意給我新的眼光,讓我知道是什么導致了我的運行時錯誤嗎?
謝謝!
我的解決方案可能是一次性的-但是對於那些在批處理腳本中注意到此錯誤的人,這是故障排除步驟的快速摘要:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.