我有一个批处理文件,它实际上只是检查MSExcel的版本,并在此基础上打开一个不同的文件。但是,我遇到了一个奇怪的问题,在成功运行批处理文件之后,Excel返回错误:
“无法访问该文件。请尝试以下操作之一:”(列出建议)
不过,最奇怪的是,当我按OK键时,文件仍然正确打开!我真的很想为我的用户消除这个错误;我能做些什么来消除它呢?
这是我的代码,以防有人想知道。
@echo off
echo %~dp0
if exist "C:\Program Files\Microsoft Office\Office14\EXCEL.EXE" GOTO L2010
if exist "C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" GOTO L2007
if exist "C:\Program Files\Microsoft Office\Office11\EXCEL.EXE" GOTO L2003
echo "Excel not installed"
pause
GOTO End
:L2010
:L2007
Start excel.exe %~dp0 "resources\SQL_Report_Compiler.xlsm"
GOTO End
Pause
:L2003
Start excel.exe %~dp0 "resources\SQL_Report_Compiler.xls"
:End发布于 2015-07-06 16:19:24
您的代码正在传递两个参数,而不是一个,因此Excel认为您试图打开两个文档。
例如,尝试运行:
Start excel.exe Spreadsheet1.xlsx Spreadsheet2.xlsx你会打开两个电子表格。空间才是扔出去的东西。
在第一个参数上会出现错误,因为无法将目录本身作为文件打开。
第二个参数可能有效,因为Excel会自然地搜索当前目录。
尝试:
Start excel.exe "%~dp0resources\SQL_Report_Compiler.xlsm"和:
Start excel.exe "%~dp0resources\SQL_Report_Compiler.xls"https://stackoverflow.com/questions/31249615
复制相似问题