2011-11-08 61 views

回答

1

如果你的第二個.vbs文件是你的第一個.VBS應該執行「就好像在命令行」,然後使用.RUN(或.Exec)一個完整的腳本正如馬可所建議。

如果你的第二個.vbs是一個包含functions/subs/classes的模塊,其中一些你想在你的第一個.vbs文件中使用,請在第二個文件的.ReadAll()上執行[Global]。

如果您可以/想要將第一個文件重新編碼爲.wsf,則可以使用帶有src屬性的腳本標記來「導入」您的模塊。簡約演示:

模塊:

'' mod.vbs 
Function SampleFunc() 
    SampleFunc = "mod::SampleFunc()" 
End Function 

主文件:

<job> 
<script language="VBScript" src="mod.vbs" /> 
<script language="VBScript"> 
    WScript.Echo WScript.ScriptName 
    WScript.Echo SampleFunc() 
</script> 
</job> 

輸出:

cscript main.wsf 
main.wsf 
mod::SampleFunc() 

另一種策略是把你的模塊代碼中的.wsc文件;它爲您提供了一個COM組件,您可以通過CreateObject()註冊和使用,或者通過GetObject("script:<filespec>")加載。

0

嘗試使用:

Set WSHShell = CreateObject("WScript.Shell") 
WSHShell.Run "wscript " & strFileName, , True