Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VB6连接到进程-Com暴露的VBA_C#_Vba_Vb6 - Fatal编程技术网

C# VB6连接到进程-Com暴露的VBA

C# VB6连接到进程-Com暴露的VBA,c#,vba,vb6,C#,Vba,Vb6,我得到了一个VBA电子表格,它调用了用VB6和“COM”编写的函数 谁能指出: 如何找到VBA在COMP调用中实际调用的dll/二进制文件的位置 如何将调试器附加到VB并在调用函数os时被命中 我来自C语言背景,因此非常感谢您的帮助 编辑:我有源代码并从Excel中找到了引用-如何将VB6调试器附加到Excel并找到断点?要了解库文件是什么,请打开VBA IDE(通常通过在宿主应用程序中按Alt+F11)并转到Project->references。 如果没有什么有趣的内容,您需要在VBA代码中

我得到了一个VBA电子表格,它调用了用VB6和“COM”编写的函数

谁能指出:

  • 如何找到VBA在COMP调用中实际调用的dll/二进制文件的位置
  • 如何将调试器附加到VB并在调用函数os时被命中
  • 我来自C语言背景,因此非常感谢您的帮助


    编辑:我有源代码并从Excel中找到了引用-如何将VB6调试器附加到Excel并找到断点?

    要了解库文件是什么,请打开VBA IDE(通常通过在宿主应用程序中按Alt+F11)并转到Project->references。
    如果没有什么有趣的内容,您需要在VBA代码中搜索对
    CreateObject
    的调用,这将为您提供COM对象的
    ProgID
    ,然后您可以在注册表中找到它


    由于缺少源代码,您可以像调试任何随机应用程序一样调试VB6库—通过使用它。

    要了解库文件是什么,请打开VBA IDE(通常通过在宿主应用程序中按Alt+F11)并转到Project->References。
    如果没有什么有趣的内容,您需要在VBA代码中搜索对
    CreateObject
    的调用,这将为您提供COM对象的
    ProgID
    ,然后您可以在注册表中找到它


    由于没有源代码,您可以调试VB6库,就像调试任何随机应用程序一样。我有源代码-我仍然不明白如何将VB6附加到正在运行的进程。@Chloe然后在VB6中加载源代码,转到项目属性,
    debug
    选项卡,确保上面写着“等待创建组件”,在代码中设置一些断点,然后按F5运行项目(IDE将开始等待创建对象)。然后尝试使用应用程序中的对象。请记住,这是从VBA调用的。VB如何知道其对象是在何时创建的。我有多个从VBA引用的二进制文件副本。我是否转到VBA项目属性并添加引用(如果是,到底是哪个二进制文件)允许我附加到进程?我有源代码-我仍然不明白如何从VB6附加到正在运行的进程。@Chloe然后在VB6中加载源代码,转到项目属性,调试选项卡,确保上面写着“等待组件被创建”,在代码中设置一些断点,然后按F5运行项目(IDE将开始等待创建对象)。然后尝试使用应用程序中的对象。请记住,这是从VBA调用的。VB如何知道何时创建其对象。我有几个从VBA引用的二进制文件副本。我是否转到VBA项目属性并添加引用(如果是的话,到底是哪个二进制文件)以允许我附加到进程?