2008-08-21 31 views
1

在爲Visual Studio 6宏,我想運行一個外部程序,所以我輸入:爲什麼'shell'不能在VS6中的VBscript中工作?

shell("p4 open " + ActiveDocument.FullName) 

這給了我一個類型不匹配運行時錯誤。我最終必須輸入的是:

Dim wshShell 
Set wshShell = CreateObject("WScript.Shell") 
strResult = wshShell.Run("p4 open " + ActiveDocument.FullName) 

這是怎麼回事?這是無稽之談嗎?或者我錯過了什麼?

回答

1

由於lassevk指出,VBScript是沒有的Visual Basic。

我相信VBScript中唯一內置的對象是WScript對象。

WScript.Echo "Hello, World!" 

從文檔

WScript對象是Windows腳本宿主 對象模型層次結構的根對象。在調用它的屬性和方法之前,它永遠不需要實例化,它始終可以從任何腳本文件中獲得。

其他所有事情都必須通過CreateObject調用創建。其中一些對象是listed here

Shell對象是其中一個其他對象,如果要調用其上的方法,則需要創建該對象。

需要提醒的是,正則表達式是排序內置的,在你可以在VBScript實例化一個RegExp對象,像這樣:

Dim r as New RegExp 
1

VBScript不是Visual Basic。

0

試試這個:

Shell "p4 open" & ActiveDocument.FullName 
-1

VB6使用&連接字符串,而不是+,和你我們希望確保文件名在空格的情況下用引號括起來。試試像這樣:

Shell "p4 open """ & ActiveDocument.FullName & """" 
相關問題