我有执行各种Excel宏的VB6代码。我在VB6和Excel宏中设置了断点,然后开始在VB6应用程序中调试。当它到达执行宏的语句(断点)时,它跳过该命令并继续遍历我的VB6代码。我希望它跳转到Excel并开始调试Excel宏。在调试从VB6应用程序调用的Excel宏时,是否有一些配置或技巧?
发布于 2014-01-09 20:55:39
当VB6执行自己的代码时,它允许程序员使用集成开发环境设置断点,并在执行到达这些断点时将控制权交给用户。但是,只有当您(程序员)从Excel界面执行宏时,才能在Excel中设置断点。当VB6负责启动Excel并告诉它执行工作簿中的宏时,情况并非如此。
以下是您可以执行的操作:
将所有宏代码迁移到VB6。这相当简单,你只需要像这样在这里和那里添加几个单词
'In Excel macro:
Activecell.Offset(0,1).Value = "my value"因此,如果我们想要将此行宏迁移到VB6:
'In VB6 you must declare an instance of EXCEL application:
Dim EX as Excel.Application
EX.Workbooks.Open('c:\my_excel_file.xls')
EX.Sheets(0).Activate 'Go to the first sheet
'Then you are back to business:
EX.ActiveCell.Offset(0,1).Value = "my vlaue"
'But don't forget to close and dispose of EX instance afterwards.
EX.Activeworkbook.Close 'Check save options
EX.Quit
Set EX = Nothing在将所有宏功能迁移到VB6之后,您可以在VB6中设置断点,您将拥有对执行的所有控制权,并且能够按照预期的方式调试代码。
https://stackoverflow.com/questions/21006137
复制相似问题