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