Word自动化向后兼容Word 2003



我正在用c#编写一些Word自动化代码。我在自己的机器上安装了Word 2007 (Microsoft.Office.Interop.Word.dll的12.0.0.0版本),但我希望至少支持Word 2003 (Microsoft.Office.Interop.Word.dll的11.0.0.0版本?)。

如果我没有Word 2003可用,是否有任何方法可以使我的代码向后兼容?如果没有安装Word 2003,我无法安装PIA可重新发布包。

如果你不介意失去智能感知,并且你正在使用。net 4,你可以通过使用dynamic。

代码示例:

var type = Type.GetTypeFromProgID("Word.Application");
dynamic word = Activator.CreateInstance(type);
word.visible = true;

我很确定在app.config中添加一个bindingRedirect会达到这个目的。

http://msdn.microsoft.com/en-us/library/eftw1fys.aspx

我的解决方案是从一台安装了Word 2003的电脑上获取Microsoft.Office.Interop.Word.dll和office.dll的副本。它们仅用于构建,以便我的代码可以在具有Word 2003的系统上运行。

最新更新