解决Excel自动化(Automation)错误发生意外遇到问题需要关闭问题

!本文可能 超过1年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使用方面,本人不保证相应的兼容和可操作性。

今天遇到的问题,打开任意Excel文档,均出现“Microsoft Office Excel 遇到问题需要关闭。我们对此引起的不便表示抱歉。您正在处理的信息有可能丢失。Microsoft Office Excel 可以尝试为您恢复”。

Microsoft Office Excel 遇到问题需要关闭

然后出现“Microsoft Visual Basic 自动化(Automation)错误 发生意外。”的对话框,如下图所示:

自动化(Automation)错误 发生意外

关于Microsoft Office Excel遇到问题需要关闭的信息倒有点类似于之前遇到的由于Normal.dot损坏导致Word打开出现的对话框,于是顺着上次的思路进行手动的修复。

建议大家先阅读我的《解决Word遇到问题需要关闭和“安全模式”启动问题》那篇文章,部分准备步骤与那篇文章描述一致,我就不累述了,一是关闭所有Excel文档,打开“任务管理器”,结束残余的Excel.exe进程;二是打开隐藏文件开关;三是开始运行输入%APPDATA%\Microsoft\Excel以便于打开配置文件夹,分别删除%APPDATA%\Microsoft\Excel%APPDATA%\Microsoft\Excel\XLSTART下所有文件,这一步我找到了问题的所在,在XLSTART目录下存在一个带毒的k4.xls文档,这个目录下的Excel文档所包含的程序将会在打开Excel时自动加载,这样k4.xls中所包含的恶意代码就可以执行并感染正常Excel了,所以我们立即删除它;四是找到Office的安装路径,比如我的Office 2003装在D盘Program Files,那么路径就是D:\Program Files\Microsoft Office\Office11,这里Office11对应着Office 2003,同样的Office12对应Office 2007,Office 14对应着Office 2010,好了,找到XLSTART文件夹,删除这个文件夹内的所有文件。

通过以上步骤后,及时升级更新你的杀毒软件,全盘查杀病毒,完成后Excel就可以正常打开了。

当然你也可以尝试我编写的批处理来快速解决这个问题,将下面代码另存为批处理文件(*.bat),双击运行即可修复Excel,如果是Vista、Win7或者更高版本请右击以管理员身份运行运行前请保存你的所有Excel工作簿并且关闭Excel程序,因为本批处理会强制结束未关闭的Excel运行以保证清理效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
REM
REM COPYRIGHT   : Copyright (c) 2013 WangYe. All rights reserved.
REM
REM DESCRIPTION : Clear ALL FILES in Excel XLSTART directory.
REM AUTHOR      : WANGYE
REM WEBSITE     : http://wangye.org
REM
REM Compatible with Office 2003/2007/2010
REM
REM Last Update : 2013/1/10
REM
@ECHO OFF
 
:BEGIN
CLS
ECHO Copyright (c) 2013 WangYe. All rights reserved.
ECHO For more information please visit http://wangye.org
ECHO.
ECHO Please wait...
 
TASKKILL /F /IM EXCEL.EXE>NUL 1>NUL 2>NUL
 
SETLOCAL EnableDelayedExpansion
 
FOR /L %%i IN (14,-1,11) DO (
    if %%i NEQ 13 (
        SET KEY_NAME="HKLM\SOFTWARE\Microsoft\office\%%i.0\Excel\InstallRoot"
        FOR /F "tokens=2*" %%A IN ('REG QUERY !KEY_NAME! /v "Path" 2^>NUL ^| FINDSTR "REG_SZ"') DO (
            SET ExcelInstallDir=%%B
            CALL :EMPTY_DIR "!ExcelInstallDir!\XLSTART">NUL
        )
    )
)
 
SET EXCELDIR=\Microsoft\Excel
CALL :EMPTY_DIR "%APPDATA%%EXCELDIR%\XLSTART">NUL
DEL /F /S /A /Q "%APPDATA%%EXCELDIR%">NUL 1>NUL 2>NUL
 
GOTO :SUCCEEDED
 
:EMPTY_DIR
ECHO %1
IF EXIST %1 (
  DEL /F /S /A /Q %1>NUL 1>NUL 2>NUL
  RMDIR /S /Q %1>NUL 1>NUL 2>NUL
)
MKDIR %1>NUL 1>NUL 2>NUL
GOTO :EOF
 
:SUCCEEDED
ECHO.
ECHO Microsoft Office Excel Recovery complete:-)
ECHO.
PAUSE
 
:EOF
EXIT

这个批处理主要用于清理Office 2003/2007/2010版本的Excel的XLSTART文件夹内的所有文件,请谨慎使用,由于能力有限本人不确保上述代码没有Bug,如果因此造成的后果本人不承担责任。使用前请安全关闭所有Excel工作簿并及时保存未存档的工作,为保证清理效果,本批处理会强制关闭所有Excel程序。

双击bat后出现Microsoft Office Excel Recovery complete:-)则表明修复完成。

最后不知道怎么保存上述代码的朋友可以直接下载现成的清理XLSTART文件夹修复Excel (855),解压后双击运行即可。

若无特别说明,本网站文章均为原创,原则上这些文章不允许转载,但是如果阁下是出于研究学习目的可以转载到阁下的个人博客或者主页,转载遵循创作共同性“署名-非商业性使用-相同方式共享”原则,请转载时注明作者出处谢绝商业性、非署名、采集站、垃圾站或者纯粹为了流量的转载。谢谢合作!

请稍后...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*