您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么在VBS中實現wscript 對象,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
一、wscript對象
描述:提供對 Windows 腳本宿主對象模型根對象的訪問。
詳述:WScript 對象是 Windows 腳本宿主對象模型層次結構的根對象。它可在任何腳本文件中使用,不需要特定的聲明。
WScript 對象提供對以下信息的訪問命令行參數, 腳本文件的名稱,宿主文件名, 宿主版本信息。
WScript 對象可用來創建對象,連接對象, 與對象斷開連接, 同步事件, 以編程方式停止腳本的執行,將信息輸出到默認輸出設備(Windows 對話框或命令控制臺)。
WScript 對象也可用來設置腳本運行的模式(交互模式或批處理模式)。
就像剛才我們說的一樣,對象通過兩種其自有的特性想我們提供工具,這兩種特性分別是“屬性”和“方法”。
二、屬性
1、Arguments 屬性
描述:用于返回 Arguments 對象(這個對象我們以后會學,現在只需要了解就行)。
語法:object.Arguments
參數:object ,WScript 對象
例子:顯示本vbs文件運行的參數
Set Arg = WScript.Arguments For i = 0 To Arg.Count - 1 MsgBox Arg(i) Next
將上面這些代碼保存為vbs文件,然后將一個或者數個任意的文件拖放到這個vbs文件上面上,那么他會逐個顯示你拖放的文件。(這僅僅給出了一個實例,用到了Arguments對象,其的具體用法我們以后再了解)
2、FullName 屬性
描述:返回主機可執行文件(CScript.exe 或 WScript.exe)的完全限定路徑。
語法:object.FullName
參數:object ,WScript 對象
例子:顯示本機wscript的路徑
MsgBox wscript.fullname
在默認的情況下會顯示"C:\WINDOWS\system32\wscript.exe"
3、Interactive 屬性
描述:設置或確定腳本模式。
語法:object.Interactive
參數:object ,WScript 對象
說明:Interactive 屬性返回一個布爾值。
有批處理和交互兩種模式。在交互模式(默認模式)下,該腳本為用戶提供交互功能。啟用對 Windows 腳本宿主的輸入和輸出。該腳本可以將信息顯示在對話框中并等待用戶提供反饋。在批處理模式下,不支持這種類型的用戶交互,所有對 WSH 的輸入和輸出被禁用。還可以使用 Windows 腳本宿主命令行開關 / / I(對于交互式)和 / / B(對于批處理模式)來設置腳本模式。
例子:顯示本機的腳本模式
MsgBox WScript.Interactive
4、Name 屬性
描述:返回 WScript 對象(主機可執行文件)的名稱。
語法:object.Name
參數:object ,WScript 對象
例子:
MsgBox WScript.name
5、Path 屬性
描述:返回包含主機可執行文件(CScript.exe 或 WScript.exe)的路徑名稱
語法:object.Path
參數:object ,WScript 對象
例子:
MsgBox WScript.Path
如果你的wscript.exe是在”C: \ WINDOWS \ system32 \ wscript.exe“那么本屬性會顯示”C: \ WINDOWS \ system32“
6、ScriptFullName 屬性
描述:返回當前運行腳本的完整路徑。
語法:object.ScriptFullName
參數:object ,WScript 對象
例子:顯示本vbs的完整路徑
MsgBox WScript.ScriptFullName
神奇吧,這個vbs竟然知道他自己的名字。
7、ScriptName 屬性
描述:返回當前運行腳本的文件名。
語法:object.ScriptName
參數:object ,WScript 對象
說明:剛才我們知道了用ScriptFullName可以獲取vbs文件自身的完整路徑,加入你只想要這個文件的名字改怎么辦?看例子。
例子:顯示本VBS文件的名字
MsgBox WScript.ScriptName
怎么樣?看到了嗎?
8、Version 屬性
描述:返回 Windows 腳本宿主的版本。
語法:object.Version
參數:object ,WScript 對象
例子:顯示本機腳本宿主版本
MsgBox WScript.version
三、方法
1、CreateObject方法
描述:創建一個對象
語法:CreateObject(appname.objecttype,[servername])
解釋:appname 必需的,Variant(字符串)。提供該對象的應用程序名。
objecttype 必需的;Variant(字符串)。待創建對象的類型或類。
servername 可選的; Variant (String). 要在其上創建對象的網絡服務器名稱。
說明:要創建 ActiveX 對象,只需將 CreateObject 返回的對象賦給一個對象變量:
Set ExcelSheet = CreateObject("Excel.Sheet")'的引用。
每個支持自動化的應用程序都至少提供一種對象類型。
例如,一個字處理應用程序可能會提供 Application 對象,Document 對象,以及 Toolbar 對象。要創建 ActiveX 對象,只需將 CreateObject 返回的對象賦給一個對象變量:
Dim ExcelSheet As Object'聲明一個對象變量來存放該對象 Set ExcelSheet = CreateObject("Excel.Sheet") ExcelSheet.Application.Visible = True '設置 Application 對象使 Excel 可見 ExcelSheet.Cells(1, 1).Value = "This is column A, row 1"'在表格的第一個單元中寫些文本 ExcelSheet.SaveAs "C:\ TEST.xls"'將該表格保存到 C:\test.xls 目錄 ExcelSheet.Application.Quit'使用應用程序對象的 Quit 方法關閉 Excel。 Set ExcelSheet = Nothing'釋放該對象變量
上述代碼將啟動該應用程序創建該對象,在本例中就是創建一個 Microsoft Excel 電子數據表。對象創建后,就可以在代碼中使用自定義的對象變量來引用該對象。在下面的示例中,可以使用對象變量 ExcelSheet 來訪問新建對象的屬性和方法,以及訪問 Microsoft Excel 的其它對象,包括應用程序對象和單元格集合。
2、GetObject方法
描述:從文件中檢索一個 Automation 對象, 或檢索strProgID 參數所指定的對象
語法:object.GetObject(strPathname [,strProgID], [strPrefix])
參數:object必選項。WScript 對象。
strPathname必選項。包含要獲取的對象的完整路徑和名稱。
strProgID可選項。表示對象的程序標識符(ProgID)的字符串。
strPrefix可選項。如果指定了參數 strPrefix,Windows 腳本宿 主將在創建對象之后把對象的輸出接口與腳本文件連接起來。在對象中觸發事件時,Windows 腳本宿主將調用一個子例程,其名稱包括 strPrefix 和事件的名稱。
例如,如果 strPrefix 為 "MYOBJ_",對象產生的事件為 "OnBegin,",那么 Windows 腳本宿主將調用腳本中的 "MYOBJ_OnBegin" 子例程。
說明:如果當前存在對象的實例或者希望使用已經被裝載的文件創建對象,可使用 GetObject 方法。如果當前不存在實例,而且不希望從已經裝載的文件中啟動對象,請使用 CreateObject 方法。
如果一個對象將自己注冊為單實例對象(例如,Microsoft Word 7.0 中的 Word.Basic 對象),那么無論執行 CreateObject 多少次也只能創建對象的一個實例。此外,對于單實例的對象,如果用零長度的字符串語法("")調用,GetObject 總是返回同樣的實例,而且如果省略路徑參數將導致錯誤。使用 GetObject 不能獲得對 Visual Basic 4.0 以及以前版本創建的 Microsoft Visual Basic(R)類的引用。
GetObject 適用于所有的 COM 類,不受創建對象所用語言的限制。
示例:在執行下列代碼時,與指定的 strPathname 相關聯的應用程序被啟動,指定文件中的對象被激活。 如果 strPathname 是一個零長度的字符串 (""), GetObject 將返回指定類型的新對象實例。如果 strPathname 參數完全被省略,GetObject 將返回指定類型的當前活動對象。如果不存在指定類型的對象,將發生錯誤。
Dim MyObject As Object Set MyObject = GetObject("C:\CAD\SCHEMA.CAD") MyApp = MyObject.Application
某些應用程序允許激活一個文件的某些部分。如果要這樣做,需要在文件名后添加一個驚嘆號 (!),然后跟一個字符串,標識出文件中希望被激活的部分。關于如何創建該字符串的信息,請參閱創建對象的應用程序的有關文檔。
例如,在一個繪圖應用程序中,文件中存儲的一幅圖可能包含多層。可以使用下面的代碼激活繪圖文件中稱為 schema.cad 的一層:
Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3")
如果不指定對象的類,COM 將根據所提供的文件名來確定要啟動的應用程序和要激活的對象。但是,某些文件可能支持多個對象類。例如,一幅圖紙可能支持三種不同類型的對象:一個應用程序對象,一個繪圖對象,以及一個工具欄對象,它們都是同一個文件的組成部分。
在下例中,FIGMENT 是一個繪圖應用程序的名稱,DRAWING 是它支持的對象類型之一。
Dim MyObject As Object
Set MyObject = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING")
3、Quit 方法
描述:退出執行,返回指定的錯誤代碼。
語法:object.Quit [intErrorCode]
解釋:object 必選項。 WScript 對象。
intErrorCode可選項。如果包含此參數,WScript 將把它作為進程終止碼返回。如果省略了 intErrorCode,WScript 將返回零 (0) 作為進程終止碼。
例子:
下例退出執行并返回錯誤代碼 1:
WScript.Quit
4、Sleep 方法
描述:使腳本進程在指定的毫秒數內處于非活動狀態,然后繼續執行。
語法:object.Sleep(intTime)
參數:object必選項。WScript 對象。
intTime腳本進程在非活動狀態的時間長度,以毫秒為單位。
說明:在睡眠狀態下,腳本將繼續執行所處理的事件。如果腳本引擎超時或被中斷,睡眠將立即結束。
例子:
wscript.sleep(3000) Set apprun = CreateObject("wscript.shell") apprun.run "%windir%\notepad.exe"
此例子將會延遲3秒啟動記事本。
5、timeout 方法
描述:設置腳本的生存時間
語法:wscript.timeout
例子:
wscript.timeout = 10 MsgBox "hello"
6、Echo 方法
描述:將輸出發送到對話框或控制臺。
語法:object.Echo [Arg1] [,Arg2] [,Arg3] ...
參數:object必選項。WScript 對象。
Arg1, Arg2, Arg3 ...所顯示的項的列表。
說明:如果宿主為 WScript.exe,本方法將把輸出顯示在對話框中;如果宿主為 CScript.exe,結果將顯示在控制臺上。每一項將被一個空格隔開。 在 CScript.exe 下,輸出的末尾被加上換行符。如果未提供任何項,顯示的將是空行。
例子:
Set fso = CreateObject("scripting.filesystemobject") Set f = fso.OpenTextFile("c:\test.txt") wscript.echo f.ReadAll
將會顯示這個文件里面的所有內容。這么看來,他的功能跟msgbox一樣,不過不如他強大。
7、ConnectObject 方法
描述:將一個對象事件源連接到具有給定前綴的函數。
語法:object.ConnectObject strObject, strPrefix
參數:object必選項。WScript 對象。
strObject要連接的對象的名稱。
strPrefix事件函數的前綴。
說明:
對象必須能夠枚舉自己類的事件集合。
例子:下例實例化了一個假想的對象,并將其連接到腳本文件。然后腳本調用該對象的 "SomeMethod" 方法。如果對象中發生了名為 "Event"的事件,將調用 MyEvent_Event 子例程。
Set MyObject = WScript.CreateObject("SomeObject") MyObject.SomeMethod WScript.ConnectObject MyObject, "MyEvent" Sub MyEvent_Event(strName) WScript.Echo strName End Sub WScript.DisconnectObject MyObject
8、DisconnectObject 方法
描述:將原先與 Windows 腳本宿主連接的對象斷開。
語法:object.DisconnectObject obj
參數:object必選項。WScript 對象。
obj要斷開連接的對象的名稱。
說明:
如果所指定的對象尚未被連接到 Windows 腳本宿主,則此方法不起任何作用。
例子:
下例創建了一個假想的對象并將其連接到腳本文件。然后腳本調用對象的 "SomeMethod" 方法。如果對象中發生名為 "Event" 的錯誤,MyEvent_Event 子例程將被調用。
Set MyObject = WScript.CreateObject("SomeObject", "MyEvent") MyObject.SomeMethod Sub MyEvent_Event(strName) WScript.Echo strName End Sub WScript.DisconnectObject MyObject
看完上述內容,你們對怎么在VBS中實現wscript 對象有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。