VBS教程:函數-GetObject 函數_vbs

來源:互聯網
上載者:User

GetObject 函數

返回對檔案中 Automation 對象的引用。

GetObject([pathname] [, class])

參數

Pathname

可選項。字串,包含待檢索對象的檔案的完整路徑和名稱。如果省略 pathname 則必須有 class。

Class

可選項。字串,對象的類。

class 參數的文法格式為 appname.objectype,其中包括以下部分:

參數

appname

必選項。字串,提供對象的應用程式名稱。

objectype

必選項。字串,要建立的對象的類型或類。

說明

使用 GetObject 函數可以訪問檔案中的 Automation 對象,而且可以將該對象賦值給物件變數。使用 Set 語句將 GetObject 返回的對象賦值給物件變數。例如:

Dim CADObjectSet CADObject = GetObject("C:\CAD\SCHEMA.CAD")

在執行上述代碼時,就會啟動與指定路徑名相相關 App程式,同時啟用指定檔案中的對象。如果 pathname 是零長度字串 (""),GetObject 返回指定類型的新對象執行個體。如果省略 pathname 參數,GetObject 將返回指定類型的當前使用中的物件。如果沒有指定類型的對象,就會出現錯誤。

某些應用程式允許只啟用檔案的一部分,方法是在檔案名稱後加上一個驚歎號 (!) 以及用於標識要啟用的檔案部分的字串。有關建立這種字串的詳細資料,請參閱建立對象的應用程式的有關文檔。

例如,在繪圖應用程式中,一個存放在檔案中的圖可能有多層。可以使用下述代碼來啟用圖 SCHEMA.CAD 中的某一層:

Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3")

如果沒有指定對象的類,則 Automation 會根據所提供的檔案名稱,確定要啟動的應用程式以及要啟用的對象。但是,有些檔案可能支援多個對象類。例如,圖可能支援三種不同類型的對象:Application 對象、Drawing 對象和 Toolbar 對象,所有這些都是同一個檔案中的一部分。使用可選項的 class 參數可以指定檔案中要啟用的對象。例如:

Dim MyObjectSet MyObject = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING") 

在上述範例中,FIGMENT 是繪圖應用程式的名稱,而 DRAWING 則是它支援的一種物件類型。對象被啟用之後,就可以在代碼中使用所定義的物件變數來引用它。在前面的例子中,可以使用物件變數 MyObject 訪問新對象的屬性和方法。例如:

MyObject.Line 9, 90MyObject.InsertText 9, 100, "嗨,你好!"MyObject.SaveAs "C:\DRAWINGS\SAMPLE.DRW"

注意 在對象的當前執行個體存在,或者要用已載入的檔案建立對象時,請使用 GetObject 函數。如果沒有當前執行個體,並且不準備使用已載入的檔案啟始物件,請使用 CreateObject 函數。

如果對象登入為單個執行個體的對象,則無論執行多少次 CreateObject,都只能建立該對象的一個執行個體。若使用單個執行個體對象,當使用零長度字串 ("") 文法調用時,GetObject 總是返回同一個執行個體,而如果省略 pathname 參數,則會出現錯誤。

複製代碼 代碼如下:

Set oDOM = WScript.GetObject(WScript.Arguments(0))
do until oDOM.readyState = "complete"
WScript.sleep 200
loop
WScript.echo oDOM.documentElement.outerHTML

或
複製代碼 代碼如下:

Set oDOM=WScript.GetObject("http://www.ip138.com/ip2city.asp")'就是取得這個對象
Do Until oDOM.readyState="complete" '一直迴圈等待200ms,直到頁面載入完成
WScript.sleep 200'就是等待200ms
Loop
WScript.echo oDOM.documentElement.outerText'取得某個文本,並彈出對話方塊以顯示此訊息
Set oDOM=nothing'斷開與對象的串連以釋放記憶體。

更多可以參考:
http://www.jb51.net/shouce/vbs/115.htm

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.