未修改代码执行Set NewMail = New CDO.message时Excel崩溃,求原因
Excel执行
Set NewMail = New CDO.message崩溃的排查方向 CDO组件注册异常
系统更新、杀毒软件扫描或其他程序操作可能意外损坏了CDO(Collaboration Data Objects)组件的注册信息。即便之前运行正常,注册项丢失或损坏会导致Excel调用组件时直接崩溃。可尝试重新注册组件:以管理员身份打开命令提示符,64位系统执行regsvr32.exe "C:\Windows\System32\cdosys.dll";若32位Excel安装在64位系统中,执行regsvr32.exe "C:\Windows\SysWOW64\cdosys.dll"。系统或Office更新冲突
今日可能自动安装了Windows或Office更新,部分更新会破坏COM组件的兼容性。检查系统更新记录,卸载最新的相关更新后,再测试代码是否恢复正常。CDO组件文件损坏
cdosys.dll文件本身可能因磁盘错误、病毒感染等原因损坏,导致实例化对象时触发崩溃。可以从同版本的正常运行系统中复制该文件替换,或通过执行sfc /scannow命令修复系统文件。Excel进程资源耗尽
长时间运行Excel或其他高内存占用程序,可能导致Excel进程内存泄漏、资源不足,触发对象实例化时崩溃。关闭Excel及无关程序,重启电脑后再尝试执行代码。安全软件拦截
杀毒软件或防火墙可能将CDO的邮件操作判定为可疑行为,强制终止Excel进程。临时关闭安全软件测试代码,若恢复正常,需将Excel或CDO组件加入安全软件信任列表。
内容的提问来源于stack exchange,提问作者ndang22
相关产品推荐
相关产品推荐

