標籤:winform c style class blog a
最近一直想用VC#2005做個內嵌WORD/OFFICE的WINFORM程式,目前主要有以下解決途徑:
1、直接通過API把WORD/OFFICE的視窗控制代碼給放到WINFORM中(感覺較為複雜);
2、通過WEB BROWSER;
3、利用DSOFRAMER。
本人都測試了一下,覺得DSOFRAMER更符合自己的願望,故決定使用DSOFRAMER來實現。
操作步驟:
WinForm
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,不會報錯了。
本文來自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"); }