使用javascript中的OLE Automation
在前面的教程中我們已經有提到JavaScript中的OLE Automation。在本節的教程中,我們將一起來討論一下JavaScript是怎樣利用Automation的強大功能來擴展服務端腳本的能力的。
實際上Automation並不是新的事物。它已經在好幾年前就流行了,但是被ActiveX腳本語言的支持是一個新的應用。如果你已經有了Visual Basic 或者Visual C++的編程背景,本節教程將介紹怎樣利用你的經驗來創建有用的腳本以控制外部的應用程序。
在你的腳本中控制外部的應用是非常強大的,比如從你的腳本中打開一個Word文檔或者一個Excel電子表格。HTML編輯器,比如HomeSite 4.0和HotMetal Pro 6為你提供了豐富的工具使得你可以利用它們到你的主頁中去。它們都是封裝到ActiveX控件中的。本教程的內容主要有:
什麼是Automation
什麼是綁定
怎樣創建Automation對象的新實例
怎樣檢索一個Automation對象存在的實例
怎樣處理應用程序的實例
怎樣提高腳本程序的性能
怎樣處理集對象
從下一篇開始,我們對以上的內容逐個介紹。
使用JavaScript中的OLE Automation
什麼是Automation
OLE(對象連接和嵌入)Automation允許應用程序完成通訊、交換數據以及控制其它應用程序等等。它還允許一個客戶應用程序通過使用暴露對象的界面來創建和控制一個對象。一個Automation對象是可以通過Automation界面暴露給其它應用程序或者編程工具的一個對象。
Automation提供了一個文檔案的、標准的方法來創建和訪問應用程序。通常,Automation跟Visual Basic是緊密聯系的。它有為C/C++開發人員提供了創建可編程的應用程序的強大工具,並且讓Visual Basic設計人員訪問和操作這些應用程序。這些C/C++程序員提供專業化的用戶界面的解決方案並且給Visual Basic程序員提供了從應用程序組件中匯集定制解決方案的一種可靠的方法。
不僅Visual Basic 可以利用Automation,實際上,可編程的對象也可以任何的宏語言或者執行Automation的編程工具來進行訪問。用戶可以根據當前的知識選擇一個編程工具,而不是為每一個應用程序學習新的語言。即使腳本語言,比如VBScript和Jscript頁支持Automation 。
控制一個Automation應用程序的關鍵在於對應用程序的對象模型要有一個較好的理解。每一個應用程序的對象模型是不同的。微軟現在聲稱在Office 程序組中每一個應用程序的每一個函數都可以通過應用程序的對象模型被程序員訪問。這個Office程序組通過它的對象模型暴露了成千上萬的對象、方法以及屬性給程序員。這個消息對程序設計人員來說無疑是一個好消息。
但是,學習特殊應用程序的對象模型通常是很困難的,因為缺少描述各種軟件對象的相關資料文檔。微軟的Office應用程序,比如在網上為程序員提供了許多資料文檔,但是還有許多其它的應用程序不提供必須的文檔。
在Microsoft Visaul Basic中的對象浏覽器將對象、方法、屬性以及外部Automation對象的常量展現在對話框中。這個工具同樣適用於腳本設計中,因為應用程序的全局常量在腳本環境中不是有效的。如果你利用Automation來編寫腳本,你可以適用對象浏覽器來取出必需的常量的值,這樣你就可以在腳本中來顯性指定它們了。