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

时间:2012-01-04 20:46:41

标签: vsto ms-office excel-2003 excel-2010

有没有人知道是否有办法让Excel 2003文档级自定义与Excel 2010一起使用?当我尝试在Excel 2003和VSTO 2005 SE上执行此文档级自定义时,出现以下错误。

“无法找到或无法加载程序集*。

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

任何帮助都会得到满足。

3 个答案:

答案 0 :(得分:3)

只是为了与人们分享我迄今为止学到的东西。

Office 2010,特别是在这种情况下,Excel 2010,与文档级自定义有64位兼容性问题,我认为在执行基于Excel 2003文件的解决方案时加载项。对于Office SE(VSTO)的Visual Studio工具,这似乎是一个问题,其中Excel 2010 64位版本无法加载32位OTKLoader.dll。

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

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

您可能希望参考Microsoft的以下文章。

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

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

希望帮助那里的人。这是一个真正的痛苦要解决。

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

答案 1 :(得分:1)

不,你不能,因为你引用的interop / vsto库必须是不同的。

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

VSTO 2005不适用于Excel 2010,VSTO 2010不适用于Excel 2003.

答案 2 :(得分:1)

为了扩展您的发现,Rob,是的,这是正确的(你可以)。我相信另一个贡献者犯了一个错误。

对于32位版本的Office,它可以正常工作(确实如此),但它不适用于64位版本的Office。微软明确说明了这种兼容性限制(至少作为脚注)。

请参阅MSDN文章 Running Solutions in Different Versions of 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运行时。

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