大家好!我是小尋 MS控件名 a1的值 InternetExplorer InternetExplorer.Application Excel Excel.Application Word Word.Application Powerpoint Powerpoint.Application vb/java Script ScriptControl windows media Player WMPlayer.OCX Outlook Outlook.Application Visio Visio.Application DAO DAO.PrivateDBEngine.35 MultiFace MultiFace.Face
如果你想寫一個JAVA代碼,其中需要調用JACOB提供的功能,而你還是新手,也許篇文章會大大降低你的花費時間。
我將一個關于JACOB的代碼分成下面幾個步驟:
1) ActiveXComponent ax = new ActiveXComponent("a1");//構建ActiveX組件實例
其中的a1的值和你需要調用的ActiveX控件有關
2) Dispatch ds = ax.getObject(). toDispatch();//獲取Dispatch對象,我們可以把每個Dispatch對象看成是對Activex控件的一個操作,這一步是獲得該ActiveX控件的控制權。
(注:淺析JACOB 中提到過Variant類,這里的ax.getObject()便是獲得該對象,我們將其轉化為任何對象(類型))
3) Dispatch ds1 = Dispatch.get(ds, "a2").toDispatch(); //獲取該ActiveX對象數據結構中的a2屬性
4) Dispatch d2 = Dispatch.invoke(ds1, "a3", a4, a5, a6).toDispatch(); //功能調用,對ActiveX對象ds1的a3屬性執行a4(Dispatch.Put\Dispatch.Get等)操作,執行后a3的值為a5,a6為錯誤參數碼常定義為new int[1],
(注:call、get和put方法都是通過該方法實現的)
5) Dispatch ds2 = Dispatch.put(ds, "a7","a8").toDispatch();//將ActiveX對象ds的屬性a4的值設置為a5,該方法返回類型同get一樣
6) Dispatch ds3 = Dispatch.call(ds1, "a9", a10);//該方法和get方法非常類似,他是把a9屬性賦值給a10
Ok其他的方法我覺得很容易理解,這里就不再做描述了。
下面是一個關于excel的代碼,也許對您的進一步自學,會有好處



































地震讓大伙知道:居安思危,才是生存之道。
