開發環境:
VS2005
DOSFRAMER版本為1.3
MS OFFICE2003+SP3
最近一直想用VC#2005做個內嵌WORD/OFFICE的WINFORM程序,目前主要有以下解決途徑:
1、直接通過API把WORD/OFFICE的窗口句柄給放到WINFORM中(感覺較為復雜);
2、通過WEB BROWSER;
3、利用DSOFRAMER。
本人都測試了一下,覺得DSOFRAMER更符合自己的願望,故決定使用DSOFRAMER來實現。
操作步驟:
1、從微軟網站下載DsoFramer_KB311765_x86.exe,解開將得到dsoframer.ocx;
2、把dsoframer.ocx拷貝到系統目錄下,並注冊,我是寫了一個reg.bat來實現:
copy dsoframer.ocx c:\windows\system32\dsoframer.ocx
regsvr32.exe c:\windows\system32\dsoframer.ocx
3、啟動VS2005,新創建一個WINFORM的C#程序;
4、在設計工具欄中,新添加選項,在彈出的頁面中選擇“TAB”頁,然後浏覽,選擇c:\windows\system32\dsoframer.ocx進行添加,此時設計工具欄中將看到這個工具,名字為“DSO FRAMER CONTROL OBJECT”;
5、拖動此工具到某設計FORM窗口中,此時將在代碼文件中添加了以下行:
private AxDSOFramer.AxFramerControl axFramerControl1;
6、打開文件,this.axFramerControl1.Open(_filePath);//注:_filePath為.doc或者.xls為後綴的文件;
7、此時就可以直接在打開的WORD/EXCEL上進行編輯保存等等操作了。
注:在操作過程中,發現按打印預覽按鈕後關閉,會引起WORD/EXCEL報錯,找了好久,後來直接安裝OFFICE2003 SP3,哈哈,fix the bug,不會報錯了。
今天心裡高興,寫下來和大家共享,有錯誤地方請幫忙指出來,一起進步。
另外文筆不好,請大家原諒。