2008-09-24 60 views
3

早上好,Excel中的WinForms(2002)和附加组件

我即将开始编写Excel 2002的Excel加载项。加载项需要调用窗体。很明显,我可以在VBA中编写表单。

我的问题是 - 是否有一种简单/好的方式从Excel中调用.NET(我使用3.5),并且能够以与本机Excel 2002表单相同的方式将内容写回Excel中将?

回答

2

Office XP ...是的,从功能上来说,您可以通过加载项或其他方式操纵Excel,但显然与VBA相比,它需要更多的代码。

最强大的解决方案是使用OLE自动化,但它不是编码和支持最简单的方法。 如果你真的需要它并有这个选项 - 得到像http://www.add-in-express.com/这样的东西 - 它提供了一个很好的Excel自动化封装,并解决了最常见的问题。无论如何,add-in-express看起来像支持Office XP的最成熟的产品,值得一试,以便更好地了解.Net代码和Excel如何进行交互。

有多种方法可以实现Excel和.NET代码之间的数据交换:OLE自动化,从VBA调用COM函数,RTD,不确定是否有人仍然使用DDE。有一些设置工作,编程挑战和维护/稳定性问题。

+0

这将工作Excel 2002,或只是一些更高版本(哪?)?自从我使用2002年以来,我认为我不会编写托管加载项,但如果我错了,请纠正我。我打算从VBA加载项中调用托管表单。非常好的回应,但是,我正在投票。 – AlanR 2008-09-24 15:35:16