与Office 2003和2007互操作

时间:2009-04-17 14:41:53

标签: interop ms-office

我希望我的应用程序能够同时使用这两个版本的Office(以及那些版本中的Outlook)。我知道我无法并行安装它们完整(Outlook真的是打架)。

具体而言,我们的应用程序会打开Outlook,填充一些信息并加载联系人(以便他们可以选择将其发送给谁)以及其他一些基础知识。如果重要,操作系统会因Windows SP,Server 2003,Server 2008和Vista而异。

我们正在考虑进入Office 2007(无论我们喜欢与否,迟早都会 ,所以我早点准备而不是更晚)如果安装Office 2007我发现我不能使用旧的interop dll(应用程序将无法编译)。我不得不假设,如果我使用2007年的互操作,2003年将无法工作 - 这就是我们现在所做的。

其他应用程序会这样做,但我的Google foo让我失望,我的StackOverflow foo大致相同。

有关如何让Visual Studio允许我为两者编码的想法吗?

编辑: 我实际上忘记了这个问题,但我有答案。

答案是来自其他事情的原因。 Interop工作得很好但是另一段代码引用了另一个版本特定的引用(Excel,具体而言)而不是Interop。之前从未使用过Interop,我只是认为它没关系,而且它们是同一个。事实证明我错了。一旦我们删除了所有引用的并重新添加了正常的Microsoft.Office.Interop引用,那就是Just Worked(TM)。

2 个答案:

答案 0 :(得分:2)

呃,所以问题可以关闭我会在这里添加答案:

答案是来自其他事情的原因。 Interop工作得很好但是另一段代码引用了另一个版本特定的引用(Excel,具体而言)而不是Interop。之前从未使用过Interop,我只是认为它没关系,而且它们是同一个。事实证明我错了。一旦我们删除了所有引用的并重新添加了正常的Microsoft.Office.Interop引用,那就是Just Worked(TM)。

答案 1 :(得分:1)

该应用程序无法编译?你在说什么?错误是什么? 如果安装Office桌面套件,则不应影响代码的编译。

你并不是说应用程序没有功能。你说编译中断了。怎么可能?

可能是您没有安装PIA,或旧的PIA已卸载,或者当您安装新办公室时,您获得了新的PIA并且存在一些不兼容性。

后一种选择对我来说似乎不可信。

我认为这是别的。但看看这个Q已经休眠多久了,我想你现在已经开始了。