中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在VBS中實現wscript 對象

發布時間:2021-05-24 16:34:01 來源:億速云 閱讀:401 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關怎么在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 對象有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安阳县| 图们市| 英山县| 邯郸市| 外汇| 镇平县| 东乡| 临朐县| 桃园县| 通河县| 大埔县| 平罗县| 穆棱市| 乐安县| 遂宁市| 贞丰县| 宕昌县| 平山县| 和顺县| 莆田市| 珲春市| 浦东新区| 天台县| 无为县| 兴隆县| 家居| 绿春县| 兴安县| 大港区| 东莞市| 霞浦县| 陕西省| 恩平市| 澎湖县| 涡阳县| 石泉县| 牙克石市| 北海市| 榕江县| 密云县| 和龙市|