繁体   English   中英

如何使用已安装的Office版本在WinForms应用程序中查看Microsoft Office文档?

[英]How can I view Microsoft Office documents in a WinForms application using the installed version of Office?

我正在编写一个功能,允许用户快速浏览并快速查看大量word文档。 所有用户都将安装Office 2003,2007或2010(这是其他一些功能所必需的)。 文档(其中大部分将是Word)只需要只读显示。

我尝试在MSDN上使用该示例,其中使用VS2008和Office 2007将office文档加载到Web浏览器组件中。

Excel电子表格加载得相当好,但Word文档出现在一个单独的窗口中,虽然没有工具栏只显示文档的正文。 由于该文章自2007年以来尚未更新,因此似乎微软已停止支持这种呈现办公文档的方式。

任何人都可以建议如何成功地工作?

我也看过像aspose.net这样的第三方组件看起来很棒,但是许可证费用非常大,考虑到所有用户都已经安装了Office,这似乎有些过分。

我在这个msdn论坛上找到了解决方案。

问题是我使用的测试.NET项目是作为“任何CPU”构建的,它在64位Windows上作为64位进程运行。

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

将.NET项目配置更改为x86,WebBrowser组件能够在其自己的窗口中托管Word文档。

我仍然不明白为什么即使在作为任何CPU运行时Excel也能够加载到WebBrowser中。

尝试将HKCR \\ Word.Document.12和HKCR \\ Word.Document.8下的注册表中的BrowserFlags设置为0x80000024。

有关更多信息,请参见http://support.microsoft.com/kb/982995

我相信要让Office应用程序不显示在单独的窗口中,您必须更改该文件类型的Windows资源管理器文件夹设置。

这个MSDN页面

Internet Explorer使用“ 在同一窗口中浏览”选项来确定文档是在活动窗口内还是在单独的窗口中托管。 如果文档托管在单独的窗口中,则不会加载和运行自定义项。 若要访问Word文档或Excel工作表的“ 在同一窗口中浏览”选项,请打开Windows资源管理器,单击“ 工具”菜单,然后单击“ 文件夹选项” 在“ 文件类型”选项卡上,在文件类型列表中选择“ DOC”或“ XLS ”,单击“ 高级” ,然后验证是否已选中“ 在同一窗口浏览”

您是否考虑过将文档导出为pdf?

  • 免费的Adobe阅读器
  • 只读
  • 如果需要以后再审查,可以保存
  • Possibilty打印

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM