2011-02-07 64 views
4

我正在編寫一個功能,以便用戶能夠快速瀏覽並快速瀏覽一些Word文檔。所有用戶將安裝Office 2003,2007或2010(這是其他功能所必需的)。文檔(其中大部分將是Word)只需要顯示爲只讀。如何使用安裝的Office版本在WinForms應用程序中查看Microsoft Office文檔?

我已經使用上MSDN,在Office文檔加載到Web瀏覽器組件的例子試圖使用VS2008和Office 2007

Excel電子表格加載還算不錯,但Word文檔出現在一個單獨的窗口儘管沒有工具欄只顯示文檔的主體。似乎微軟已經停止支持這種呈現辦公文檔的方式,因爲該文章自2007年以來一直未更新。

任何人都可以建議如何讓這項工作成功嗎?

我也看過第三方組件,如aspose.net這看起來不錯,但許可證費用相當大,看起來像是矯枉過正,因爲考慮到所有用戶都已經安裝了Office。

回答

6

我在這個msdn forum上找到了解決方案。

問題是我正在使用的測試.NET項目被構建爲「任何CPU」,它在64位Windows上作爲64位進程運行。

我安裝了Office 2007的32位版本。

將.NET項目配置更改爲x86,WebBrowser組件能夠將Word文檔託管在其自己的窗口中。

我仍然不明白爲什麼Excel能夠在WebBrowser中加載,即使以任何CPU運行也是如此。

1

我相信要讓Office應用程序不在單獨的窗口中顯示,您必須更改該文件類型的Windows資源管理器文件夾設置。

this MSDN page

瀏覽在同一窗口中的選項用於由Internet Explorer,以確定該文件是否是活動窗口或單獨的窗口內承載。如果文檔託管在單獨的窗口中,則自定義項不會加載並運行。要訪問在同一窗口中瀏覽選項用於Word文檔或Excel工作表,請打開Windows資源管理器,單擊工具菜單,然後單擊文件夾選項。在文件類型選項卡,選中DOCXLS在文件類型列表中,單擊高級,並驗證瀏覽在同一窗口中選擇。

+0

不幸的是這個選項不再在Windows 7我試圖存在更改BrowserFlags註冊表設置以及不幸的是這與Office 2007沒有任何影響 –

2

嘗試在註冊表下的HKCR \ Word.Document.12和HKCR \ Word.Document.8到0x80000024中設置BrowserFlags。

請參閱http://support.microsoft.com/kb/982995瞭解更多信息。

+0

正如我在下面回答 - 我的機器上的問題是由於試圖加載32位word文檔一個64位的Web瀏覽器組件。這些註冊表設置仍然有幫助 - 感謝信息! –

0

您是否想過將文檔導出爲pdf?

  • 免費的Adobe閱讀器
  • 只讀
  • 可能性保存,如果需要以後的審查
  • Possibilty打印
+0

您有任何建議如何在WinForms應用程序中顯示PDF文檔? –

相關問題