这个批处理主要用于清理Office 2003/2007/2010版本的Excel的XLSTART文件夹内的所有文件,请谨慎使用,使用前请安全关闭所有Excel工作簿并及时保存未存档的工作,为保证清理效果,本批处理会强制关闭所有Excel程序。
双击bat后出现Microsoft Office Excel Recovery complete:-)则表明修复完成。
问题详叙:
打开任意Excel文档,均出现“Microsoft Office Excel 遇到问题需要关闭。我们对此引起的不便表示抱歉。您正在处理的信息有可能丢失。Microsoft Office Excel 可以尝试为您恢复”。
然后出现“Microsoft Visual Basic 自动化(Automation)错误 发生意外。”的对话框,如下图所示:
关于Microsoft Office Excel遇到问题需要关闭的信息倒有点类似于之前遇到的由于Normal.dot损坏导致Word打开出现的对话框,于是进行手动的修复。
批处理代码:
批处理会强制结束未关闭的Excel运行以保证清理效果:
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