最近一直想用VC#2005作個內嵌WORD/OFFICE的WINFORM程序,目前主要有如下解決途徑:html
一、直接經過API把WORD/OFFICE的窗口句柄給放到WINFORM中(感受較爲複雜);web
二、經過WEB BROWSER;windows
三、利用DSOFRAMER。工具
本人都測試了一下,以爲DSOFRAMER更符合本身的願望,故決定使用DSOFRAMER來實現。測試
操做步驟:
WinForm網站
一、從微軟網站下載DsoFramer_KB311765_x86.exe,解開將獲得dsoframer.ocx;this
二、把dsoframer.ocx拷貝到系統目錄下,並註冊,我是寫了一個reg.bat來實現: copy dsoframer.ocx c:\windows\system32\dsoframer.ocx regsvr32.exe c:\windows\system32\dsoframer.ocxspa
三、啓動VS2005,新建立一個WINFORM的C#程序;設計
四、在設計工具欄中,新添加選項,在彈出的頁面中選擇「TAB」頁,而後瀏覽,選擇c:\windows\system32\dsoframer.ocx進行添加,此時設計工具欄中將看到這個工具,名字爲「DSO FRAMER CONTROL OBJECT」;orm
五、拖動此工具到某設計FORM窗口中,此時將在代碼文件中添加了如下行: private AxDSOFramer.AxFramerControl axFramerControl1;
六、打開文件,this.axFramerControl1.Open(_filePath);//注:_filePath爲.doc或者.xls爲後綴的文件;
七、此時就能夠直接在打開的WORD/EXCEL上進行編輯保存等等操做了。 注:在操做過程當中,發現按打印預覽按鈕後關閉,會引發WORD/EXCEL報錯,找了很久,後來直接安裝OFFICE2003 SP3,哈哈,fix the bug,不會報錯了。
本文來自http://www.cnblogs.com/tianfu/archive/2009/05/07/1452047.html
Web
1.將dsoframer.ocx複製到c:\windows\system32\
2.雙擊運行regocx.bat文件 在vs2010中使用dsoframer控件:
1.在工具箱中添加項,在COM 選項卡中選擇已註冊的dsoframer控件。
2.將公共控件中的DSO Framer控件拖到表單上。
3.在DSO中打開Office文件代碼: this.axFramerControl1.Open("c:\\test.xls");
4.將Office文件保存的代碼:
private void button1_Click(object sender, EventArgs e)
{ this.axFramerControl1.Open("C:\\Documents and Settings\\Administrator\\桌面\\復件 新建 Microsoft Word 文檔.doc"); }
private void button2_Click(object sender, EventArgs e)
{ this.axFramerControl1.Save("C:\\Documents and Settings\\Administrator\\桌面\\111111111 文檔.doc", true, "myname", "mypass"); }