當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

Javascript案例圖文詳細教程(20) OLE Automation(3)

Javascript案例圖文詳細教程(20) OLE Automation(3)

更新時間:2019-04-25 文章作者:未知 信息來源:網絡 閱讀次數:

使用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

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
亚洲嫩草影院久久精品