亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > VBScript > 正文

VBS基礎篇 - wscript 對象詳解

2020-06-26 17:16:24
字體:
來源:轉載
供稿:網友

一、wscript對象

描述:提供對 Windows 腳本宿主對象模型根對象的訪問。
詳述:WScript 對象是 Windows 腳本宿主對象模型層次結構的根對象。它可在任何腳本文件中使用,不需要特定的聲明。
        WScript 對象提供對以下信息的訪問命令行參數, 腳本文件的名稱,宿主文件名, 宿主版本信息。 
        WScript 對象可用來創建對象,連接對象, 與對象斷開連接, 同步事件, 以編程方式停止腳本的執行,將信息輸出到默認輸出設備(Windows 對話框或命令控制臺)。

        WScript 對象也可用來設置腳本運行的模式(交互模式或批處理模式)。
        就像剛才我們說的一樣,對象通過兩種其自有的特性想我們提供工具,這兩種特性分別是“屬性”和“方法”。

二、屬性

1、Arguments 屬性

描述:用于返回 Arguments 對象(這個對象我們以后會學,現在只需要了解就行)。
語法:object.Arguments
參數:object ,WScript 對象

例子:顯示本vbs文件運行的參數

Set Arg = WScript.ArgumentsFor 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 ObjectSet MyObject = GetObject("C:/CAD/SCHEMA.CAD")MyApp = MyObject.Application

某些應用程序允許激活一個文件的某些部分。如果要這樣做,需要在文件名后添加一個驚嘆號 (!),然后跟一個字符串,標識出文件中希望被激活的部分。關于如何創建該字符串的信息,請參閱創建對象的應用程序的有關文檔。

例如,在一個繪圖應用程序中,文件中存儲的一幅圖可能包含多層??梢允褂孟旅娴拇a激活繪圖文件中稱為 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 = 10MsgBox "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.SomeMethodWScript.ConnectObject MyObject, "MyEvent"Sub MyEvent_Event(strName)  WScript.Echo strNameEnd SubWScript.DisconnectObject MyObject

8、DisconnectObject 方法

描述:將原先與 Windows 腳本宿主連接的對象斷開。
語法:object.DisconnectObject obj
參數:object必選項。WScript 對象。
   obj要斷開連接的對象的名稱。
說明:
如果所指定的對象尚未被連接到 Windows 腳本宿主,則此方法不起任何作用。
例子:
下例創建了一個假想的對象并將其連接到腳本文件。然后腳本調用對象的 "SomeMethod" 方法。如果對象中發生名為 "Event" 的錯誤,MyEvent_Event 子例程將被調用。

Set MyObject = WScript.CreateObject("SomeObject", "MyEvent")MyObject.SomeMethodSub MyEvent_Event(strName)  WScript.Echo strNameEnd SubWScript.DisconnectObject MyObject

這篇文章就介紹到這了,需要的朋友可以參考一下。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品国产电影| 国产精品久久一区| 九九热精品视频在线播放| y97精品国产97久久久久久| 国产视频精品免费播放| 国产在线精品播放| 日韩av一区在线观看| 91精品国产色综合| 国产精品成久久久久三级| 国产精品海角社区在线观看| 国产精品久久婷婷六月丁香| 日韩乱码在线视频| 欧美日韩亚洲一区二区| 精品国偷自产在线视频| 亚洲性av网站| 日韩理论片久久| 欧美激情欧美狂野欧美精品| 最近2019年手机中文字幕| 国产欧亚日韩视频| 久久色免费在线视频| 国产精品久久视频| 亚洲成人精品久久| 一区二区三区视频在线| 国产97人人超碰caoprom| 日韩av电影在线免费播放| 成人有码在线视频| 97在线视频精品| 91精品久久久久久久久| 国产精品三级美女白浆呻吟| 午夜精品一区二区三区在线| 久久久久久久久久国产| 亚洲欧洲偷拍精品| 日韩欧美在线一区| 精品久久久久久中文字幕一区奶水| 81精品国产乱码久久久久久| 亚洲欧洲在线观看| 欧美日韩成人网| 亚洲欧美一区二区三区情侣bbw| 51午夜精品视频| 日韩中文字幕在线视频| 亚洲成人精品久久久| 亚洲人成亚洲人成在线观看| 伊人一区二区三区久久精品| 日韩精品免费一线在线观看| 久热精品视频在线观看| 日韩麻豆第一页| 亚洲美女www午夜| 国产69精品99久久久久久宅男| 欧美激情视频网址| 亚洲欧洲中文天堂| 久久这里有精品视频| 精品久久久久久久久久久| 成人乱人伦精品视频在线观看| 国产91精品视频在线观看| 欧美日本黄视频| 精品国偷自产在线| 国产精品视频网| 亚洲成成品网站| 91av在线免费观看视频| 久久这里有精品| 久热精品视频在线观看| 日本一区二区三区四区视频| 亚洲欧美日韩国产中文| 国产99视频精品免视看7| 成人免费在线网址| 日韩在线精品视频| 国产噜噜噜噜久久久久久久久| 欧美视频在线看| 亚洲字幕一区二区| 国产精品∨欧美精品v日韩精品| 国产精品69精品一区二区三区| 久久国产精品久久久久| 91免费福利视频| 91精品视频专区| 久久国产加勒比精品无码| 久久精品视频导航| 欧美性视频在线| 欧美成人精品影院| 成人黄色影片在线| 久久99精品久久久久久噜噜| 欧美插天视频在线播放| 久久人人爽人人爽人人片av高清| 日韩电影大片中文字幕| 色香阁99久久精品久久久| 一本色道久久88精品综合| 一色桃子一区二区| 亚洲国产91精品在线观看| 色偷偷av一区二区三区乱| 一本色道久久综合亚洲精品小说| 日韩激情av在线播放| 亚洲第一页中文字幕| 久久久久久噜噜噜久久久精品| 中文字幕9999| 一区二区三区久久精品| 亚洲片av在线| 欧美日韩精品国产| 亚洲精品v欧美精品v日韩精品| 国产不卡一区二区在线播放| 欧美午夜美女看片| 欧美一区二区三区四区在线| 68精品国产免费久久久久久婷婷| 国产精品久久久久久久久久久久| 成人免费直播live| 亚洲综合在线中文字幕| 久久国产精品久久久久久久久久| 欧美一级成年大片在线观看| 亚洲一级黄色av| 91色中文字幕| 亚洲男人天堂网站| 亚洲成人久久久| 91色视频在线导航| 亚洲品质视频自拍网| 中文字幕在线看视频国产欧美| 久久精品国产成人| 久久久久久有精品国产| 91精品国产亚洲| 国产一区二区三区网站| 欧美日韩亚洲91| 亚洲综合一区二区不卡| 欧美日韩亚洲高清| 欧美理论电影在线播放| 欧美在线不卡区| 亚洲乱亚洲乱妇无码| 日韩欧美在线视频日韩欧美在线视频| 中文字幕日本精品| 欧美激情综合亚洲一二区| 久久精品国产亚洲精品2020| 久久免费视频在线| 亚洲成色999久久网站| **欧美日韩vr在线| 日韩网站免费观看高清| 亚洲综合色av| 777777777亚洲妇女| 青青久久av北条麻妃海外网| 国产精品日韩在线播放| 亚洲国产精品悠悠久久琪琪| 国产精品午夜国产小视频| 精品一区精品二区| 亚洲国产中文字幕久久网| 性欧美在线看片a免费观看| 亚洲在线第一页| 国产精品成人播放| 在线精品国产欧美| 亚洲国产精品一区二区久| 日韩经典中文字幕| 91精品视频在线免费观看| 国产精品草莓在线免费观看| 久久久亚洲福利精品午夜| 亚洲网站视频福利| 国产精品日韩在线| 亚洲最大成人网色| 久久精品视频中文字幕| 91精品国产综合久久香蕉的用户体验| 亚洲综合日韩在线| 日韩高清av一区二区三区| 欧美性xxxx极品高清hd直播| 久久久人成影片一区二区三区观看| 清纯唯美亚洲综合| 国产ts人妖一区二区三区| 在线精品91av| 在线日韩av观看| 亚洲一区二区日本| 北条麻妃99精品青青久久| 亚洲激情视频在线观看|