如何在C#中使用interop来打开具有适当应用程序的office文件

时间:2015-02-27 22:11:17

标签: c# interop office-interop

在我最近的项目中,只要我知道他们的文件类型(例如“.doc”,“。xlsm”“。ppt”等),我就可以使用C#中的Interop打开和处理任何office文件。 ,将选择一个特定的应用程序(例如,Word或Excel)来打开该文件。

我的问题是,是否有一种独特的方式来打开Office文件并使用C#中的Interop处理它?感谢。

编辑: 例如,给定一个“.doc”文件,我将使用Microsoft.Office.Interop.Word打开它。在C#中有没有办法知道哪个应用程序(即Microsoft.Office.Interop.Word,Microsoft.Office.Interop.Excel,Microsoft.Office.Interop.PowerPoint)关联打开给定的文件类型使用interop(我需要使用互操作来做一些处理)?

执行此操作的一种方法是根据差异文件类型存储具有关联应用程序的表。还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

Office扩展性模型不提供任何内容。

可能的解决方案是:

  1. 以编程方式运行文件。它将在默认应用程序中打开。没有人能保证它将成为Microsoft Office软件包的应用程序。
  2. 您可以在注册表部分HKEY_CLASSES_ROOT下查看扩展和操作详细信息。这方面的文档是on MSDN。或者,您可以使用IQueryAssociations界面。
  3. 您可以在Finding the default application for opening a particular file type on Windows论坛帖子上了解更多相关内容。