Excel 2003文档级自定义和Excel 2010兼容性



有人知道是否有一种方法可以使Excel 2003文档级自定义与Excel 2010一起工作吗?当我尝试执行这个建立在Excel2003和VSTO2005SE上的文档级自定义时,我会得到以下错误。

"在中找不到或无法加载程序集*。

您仍然可以编辑和保存文档。请与管理员或本文档的作者联系以获得进一步帮助。"

任何帮助都会得到通知。

只是想与大家分享我迄今为止学到的东西。

Office 2010,特别是在本例中的Excel 2010,在执行基于Excel 2003文件构建的解决方案时,与文档级自定义和我认为的加载项存在64位兼容性问题。这似乎是Visual Studio Tools For Office SE(VSTO)的一个问题,其中32位的OTKLoader.dll无法由Excel 2010 64位版本加载。

我们的具体测试是采用Visual Studio 2008构建的Excel 2003文档级自定义,并将其安装在运行Office 2010 64位的Windows 7 64位计算机上。收到的错误是我原来的问题中所说的错误。

然后,我们使用了一台运行Office 2010 32位的Windows 7 64位计算机,并安装了Office Business应用程序。OBA,文档级别的自定义,执行时没有出错。

你可能想参考微软的以下文章。

"Office 2010的32位和64位版本之间的兼容性"http://msdn.microsoft.com/en-us/library/ee691831.aspx

我个人还没有完全读完这篇文章,但有足够多的描述性文本和一些明确的陈述,让我相信Office 2003的自定义目前与Office 2010的64位版本不兼容。

希望这能帮助到其他人。这真的很痛苦。

请注意,我们目前提供的选项是:A: 仅允许32位版本的Office 2010。B: 所有Office/Excel 2003文档级自定义必须至少升级到Excel 2007解决方案。

不可以,因为您引用的interop/vsto库必须不同。

Excel 2003适用于VSTO 2005 SE,而Excel 2010需要VSTO 2010库。

VSTO 2005不能与Excel 2010一起使用,VSTO 2010也不能与Excel 2003一起使用。

要扩展您的发现,Rob,是的,这是正确的(您可以)。我认为另一位投稿人犯了一个错误。

对于32位版本的Office,它可以工作(正如您所发现的那样),但对于64位版本的Office,它不起作用。微软明确说明了这一兼容性限制(至少作为脚注)。

请参阅MSDN文章在不同版本的Microsoft Office中运行解决方案。在"运行通过使用Visual Studio的早期版本创建的Office解决方案"部分下,您将在最后一行的图表中看到,将VSTO 2005 SE与针对Office 2003的项目模板一起使用将在Microsoft Office 2003、Microsoft Office 2007和Microsoft Office 2010(仅限32位)上运行。

它进一步说,您将被要求在客户端的PC上安装Visual Studio 2005 Tools for Office Second Edition运行时。

您所描述的选项是正确的。这些应该是你唯一的选择。

最新更新