Microsoft Office Interop处于混合的Office 2003/2007 / 2010环境中

时间:2011-10-04 23:32:33

标签: office-interop

在大多数用户使用最新版本的MS Office且少数用户使用较旧版本的情况下,由于机器限制,Office 2003/2007是否有办法正确使用Office Interop库(而不是第三方程序集)允许部署应用程序而无需将旧版本的Office安装到2010年的计算机中?

3 个答案:

答案 0 :(得分:1)

我们有相同的情况,我只是使用后期绑定.CreateObject("Excel.Application"),后期绑定的事情是你不会有任何智能感知,所以对我来说最好的方法是首先在类上编写代码引用Office.Interop.Excel之后,将所有代码复制到使用后期绑定的其他类。

答案 1 :(得分:1)

嗯,不知道是否还有人会看到这个,但它会继续,完美运作!

我做到了这一点,在Excel 2010(仅)的机器中编程,并在另一台机器上使用Excel 2003(仅限)执行perfeclty。 (使用Visual Studio 2010编程)

单击解决方案资源管理器中的“添加引用”,然后转到“.NET”部分。 会有很多Assmeblies,包括“Microsoft.Office.Interop.TheProgramYouWant”。 秘诀是选择旧版本(12.0.0.0),而不是更新版本(14.0.0.0)。

它将伴随“复制本地”和“特定版本”选项都设置为true(我没有改变它,但我不知道exaclty如果改变了什么)。

答案 2 :(得分:0)

使用后期绑定,因为您不需要在项目中引用任何Office dll。 Outlook后期绑定示例:

Dim OutlApp As Object
Dim NewEmail As Object

OutlApp = CreateObject("Outlook.Application")
NewEmail = OutlApp.CreateItem(0)