Excel VBA中ThisWorkbook引发自动化错误导致程序崩溃问题求助
Excel VBA中ThisWorkbook引发自动化错误导致程序崩溃问题求助
最近我在Excel VBA里使用ThisWorkbook时遇到了个棘手的问题:Excel会弹出“Automation error”的提示框,之后要么毫无反应,要么直接退出程序,具体表现取决于宏的运行方式。我排查后发现问题出在代码里对ThisWorkbook的调用上。
' 这段代码会导致崩溃 Set AccessSheet = ThisWorkbook.Sheets("ProjectAccess") ' 这段代码则正常运行 Set AccessSheet = ActiveWorkbook.Sheets("ProjectAccess")
我在立即窗口做了测试,结果如下:
?ThisWorkbook.sheets("ProjectAccess").Name ProjectAccess ?ActiveWorkbook.sheets("ProjectAccess").Name ProjectAccess ?ThisWorkbook.Name J073_2023_Checkbook_delete.xlsm ?ActiveWorkbook.Name J073_2023_Checkbook_delete.xlsm
这个工作簿已经用了3-4年了,我大概一年没改过里面的内容,出问题的代码所在的工作簿里确实有对应的工作表。这也不是唯一会崩溃的情况,只是举个例子。
我们大概一两年前切换到了Office 365,我不太清楚现在的版本更新机制,但没察觉到有更新过。
我想搞明白到底是什么变化导致了这个问题?还有为什么会直接崩溃?它既不弹出常规错误提示,也不打开调试器,就直接毫无预警地退出Excel了。
希望能得到大家的想法和建议,谢谢!
编辑补充:修正了原始代码示例中的拼写错误,补充了立即窗口的测试结果。
备注:内容来源于stack exchange,提问作者Jake
相关产品推荐
相关产品推荐

