代码之家  ›  专栏  ›  技术社区  ›  almog.ori

VBA可扩展性,COM附加指南?

  •  2
  • almog.ori  · 技术社区  · 16 年前

    是否有人知道为VBA编辑器环境创建COM加载项的良好参考资料,我知道这与使用Microsoft提供的使用IDTExtensibility2接口的加载项模型为公共环境编写COM加载项完全相同。只需将COM注册表项注册到其他位置,该位置在哪里?

    还有关于.NET interop代码的任何示例,关于如何引用代码编辑器,尽可能详细地将自定义菜单项添加到上下文菜单中。你知道常规的定制代码。另外,如果有人知道如何连接Visual Studio以调试所述项目。如果你知道其中的任何一个,我将非常感激。

    4 回复  |  直到 15 年前
        1
  •  2
  •   Jon Fournier    16 年前

    看起来组装mz工具的人在其站点上有一个小部分,其中包含一些有关构建vbe加载项的资源。

    http://www.mztools.com/resources_vs60_addins.aspx

        2
  •  1
  •   shahkalpesh    16 年前

    这可能是注册表位置-hkcu\software\microsoft\vba\vbe\6.0\addins

    我通过从系统内部运行进程监视器发现了这一点。

    使用进程监视器捕获事件
    运行Excel,alt+f11,工具->加载项

    编辑:我对.NET与外接程序代码的互操作不太了解。

    但是,我会打开加载项项目,设置必要的断点,使其保持运行模式,打开VBA编辑器,加载加载加载项并采取操作,这些操作将使我进入加载项的代码。

        3
  •  1
  •   Tom Juergens    16 年前

    “Microsoft Office 2000 Visual Basic程序员手册”(ISBN 3-86063-289-2)有四个(!)有关此主题的页面。我只有德文版,但如果你认为有帮助的话,我可以翻译重要的部分。显然,这里没有关于.NET互操作的内容,但是有一些关于编写VBE加载项的基本信息。

        4
  •  1
  •   Community Mohan Dere    9 年前

    查看O'Reilly's Developing Visual Basic Add-ins: The VB IDE Extensibility Model

    这本书虽然是一个很好的资源,但大部分都是基于普通的VB编辑器——但是结合了对对象浏览器的深入研究,以及像@mztools这样的引用。 (as Jon pointed out) 你该走了。

    我在处理EMC Captiva的InputAccel和Formware环境中的VBA IDE时使用了这两种资源,这些环境只公开了部分VBA IDE。