Javascript執行個體教程(20) OLE Automation(3)

來源:互聯網
上載者:User
javascript|教程 使用JavaScript中的OLE Automation

3. 怎樣建立Automation對象的新執行個體

Jscript(微軟版本的JavaScript)是一個寬鬆類型的語言。換句話說,變數不是明顯定義為指定的資料類型。你不能聲明一個變數為指定的物件類型,所以早綁定不可能在JScript中。Jscript的ActiveXObject()建構函式通常用於為對象建立一個遲綁定介面:

var wdApp; // 一個普通變數

wdApp = new ActiveXObject("Word.Application");

Jscript不需要明顯的變數聲明,所以我們可以使用以下的代碼:

var wdApp = new ActiveXObject("Word.Application");

ActiveXObject()函數的一般的文法如下:

var objVar = new ActiveXObject(class[, servername]);

objVar指定為一個持有執行個體化對象引用的變數。class使用library.object文法,它是指應用程式的名字(比如Word或者Excel等等)或者包含對象的庫,並且對象是要建立的對象類的類型。servername(這是一個可選的參數)指定了包含對象的伺服器的名字。

這個ActiveXObject()建構函式建立了一個OLE Automation(ActiveX)對象的執行個體。一旦對象被建立了,你可以使用定義的物件變數來引用它。如果ActiveX對象的執行個體已經運行,ActiveXObject()在它建立了必需的類型的對象的時候可能開始一個新的執行個體。下面的程式碼片段可以讓使用者直接開啟一個Word文檔:

var pause = 0;

var wdDialogFileOpen = 80;

var wdApp = new ActiveXObject("Word.Application");

var dialog = wdApp.Dialogs(wdDialogFileOpen);

var button = dialog.Show(pause);
使用JavaScript中的OLE Automation

3. 怎樣建立Automation對象的新執行個體

前面的程式碼片段引用了Word.Application對象,它的方法在後面的教程要介紹。這裡要注意等級結構,即一個方法或者屬性是一個對象,它們又又自己的方法和屬性。

象Visual Basic 6,Jscript可以通過增加一個新的參數(servername)來一步增加ActiveXObject函數。你可以在註冊的ActinveX對象上指定伺服器的名字。在遠程伺服器建立一個對象可以在Internet安全檢查程式關閉的時候完成。你可以通過傳遞電腦的名字給ActiveXObject()建構函式的servername參數來在遠程網路電腦上建立一個對象。比如,如果一個網際網路共用命名為"\\MYSERVER\D\Program Files",那那麼servername的數值就為’MYSERVER”。另外,你可以使用DNS格式或者一個IP地址來指定位置。下面的函數返回運行在遠程網路電腦(名為"MYSERVER")Word的執行個體的版本號碼:

function getVersion() {

var wdApp = new ActiveXObject("Word.Application", "MYSERVER");

return wdApp.Version;

}

如果指定的遠程伺服器不存在或者沒有找到就會產生一個錯誤。當我們測試這個函數的時候,我們可以發現Jscript忽視了servername參數。所以我們在VBScript將這些函數放在一起,可以發現它並不工作:

Function GetVersion

Dim wdApp

Set wdApp = CreateObject("Word.Application", "MYSERVER")

GetVersion = wdApp.Version

End Function

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.