MS Project调用Excel内置宏无响应不报错问题排查求助
问题原因
你代码存在变量误用的问题,加上错误捕获设置导致异常被吞,所以宏触发语句直接被跳过:
- 你在代码开头声明了
xlApp对象,但从未给这个变量赋值,实际创建的Excel实例是绑定到MyXL变量上的 - 执行
xlApp.Run时实际是在操作空对象,本应抛出对象未初始化的错误,但因为你代码开头开启了On Error Resume Next,错误被直接忽略,所以这行代码没有任何执行效果就被跳过了
修复方法
把宏触发行的变量改为你实际使用的Excel实例变量即可,将原代码行:
xlApp.Run ("'This week report - BLANK.xlsm'!apply_conditional_formatting")
修改为:
MyXL.Run ("'This week report - BLANK.xlsm'!apply_conditional_formatting")
可选优化
- 删掉代码开头冗余的
Dim xlApp As Object声明,避免后续再出现同类变量误用问题 - 调试阶段可以临时注释掉
On Error Resume Next,遇到错误会直接弹出提示,更方便定位问题,调试完成后再按需保留错误捕获逻辑
内容的提问来源于stack exchange,提问作者Miles
相关产品推荐
相关产品推荐

