代码之家  ›  专栏  ›  技术社区  ›  devuxer

如果我在Visual Studio中开发Excel应用程序,是否会失去宏录制的好处?

  •  6
  • devuxer  · 技术社区  · 15 年前

    我以前用以下开发过程编写了很多Excel宏:

    1. 记录宏。
    2. 打开VBA编辑器。
    3. 编辑宏。

    我现在正在试验一个Visual Studio 2008“Excel 2007外接程序”项目(C),我想知道是否必须放弃这个开发过程。

    问题:

    1. 我知道我仍然可以使用Excel记录宏,但是有没有任何方法可以在Visual Studio中访问生成的代码?或者我只需要复制粘贴然后C-调整它?

    2. 我的“个人宏工作簿”会发生什么?我可以使用C_中存储的宏吗?或者有什么方法可以把它们转换成c_?

    3. 如果对在Visual Studio中打开和编辑VBA宏有一些支持,您能简要介绍一下它的工作原理吗?或者给我一个好的参考资料?

    4. 对于从使用Excel内置编辑器在VBA中编写宏转换为使用Visual Studio在C_中编写宏,您还有其他的技巧吗?

    2 回复  |  直到 10 年前
        1
  •  6
  •   Scott P    15 年前

    如果你想把vba宏移植到c中,你会受到伤害。如果它们很复杂,我只需要在Visual Studio中重写它们或将它们保存在Excel中。

    而且,尽管我很痛苦地说,现在vb.net确实是做Office开发的更好选择。VB.NET支持 丢失的 这些参数对于具有无数参数的Excel方法非常有用。此支持将添加到.NET 4.0的C_中。

    您应该能够从.NET调用VBA方法。看看这个: http://msdn.microsoft.com/en-us/library/bb608609.aspx

    您还可以查看有关codeproject的本文: http://www.codeproject.com/KB/office/extending_excel.aspx

        2
  •  0
  •   Govert    13 年前

    (免责声明:我开发了Excel DNA库。)

    你应该看看excel dna- http://exceldna.codeplex.com . 该库允许用C、VB.NET或F编写的托管程序集通过Excel的本机.xll接口向Excel公开高性能用户定义函数(UDF)和宏。该项目是开放源码的,可以自由地进行商业使用。

    在您的VBA背景下,首先使用VB.NET移动到.NET可能是有意义的。一旦您完成了这一转变,开始使用C将更加容易,并且您可以交叉引用用vb.net和C编写的程序集,而不会出现任何问题。

    一些外接程序工具,如Resharper和免费的.NET IDE SharpDevelop ,甚至可以自动将代码从vb.net转换为c。当然,对于使用来自C的COM自动化接口,您需要使用.NET 4。

    Mike Staunton通过Excel DNA技术在vb a->vb.net上进行了一次谈话讨论,视频如下: http://www.thalesians.com/finance/index.php/Events/Seminars/Seminar27#Video .

    推荐文章