2

首先是的,我在另一个板上发布了这个,但我给了他们足够的时间来回答,但没有收到。

快捷方式是否有可能能够执行他们安装的最新版本的 MS Excel?这样,人们就不需要为每个版本的 Excel 打开同一个文档的不同快捷方式。谢谢!

例如 Excel 2007 快捷方式使用“C:\Program Files\Microsoft Office\Office12\EXCEL.EXE”

Excel 2003 快捷方式使用“C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE”

如果用户拥有的最新版本是 2007,那么我希望快捷方式使用 2007。如果用户拥有的最新版本是 2003,那么我希望它使用 2003。

4

1 回答 1

1

如果LatestExcel.bat包含以下内容,单击它会产生您想要的效果。

@echo off
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
:L2007
Call "C:\Program Files\Microsoft Office\Office12\EXCEL.EXE"
GOTO End
:L2003
Call "C:\Program Files\Microsoft Office\Office11\EXCEL.EXE"
:End

替代解决方案

CALL,我在第一个解决方案中使用,将控制权交给另一个批处理文件或程序,但在该批处理文件或程序完成后收回控制权。这就是为什么CMD.EXE保持活跃。我以为我记得一个切换控制的批处理命令,但我找不到它;我一定在考虑另一种脚本语言。

顺便提一句。如果您使用 Google 搜索“Windows 批处理文件命令”,您会看到一系列网站,这些网站提供批处理文件命令的教程或语法。但是,我通常使用命令Help PauseHelp Copy Pause.

对于这个解决方案,我创建了两个快捷方式,一个用于 Excel 2003,一个用于 Excel 2007,并将它们放置在 Temp 中。PickLatestExcel.bat我使用以下语句创建了批处理文件。我在常规文件夹和桌面上尝试了它,在这两种情况下它都移动了正确的快捷方式文件并重命名了它Excel

我不知道您的操作环境,但也许这两个解决方案会让您了解使用批处理文件可以实现什么。

rem @echo off
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
:L2007
Copy "C:\Windows\Temp\Excel2007.lnk" Excel.lnk
GOTO End
:L2003
Copy "C:\Windows\Temp\Excel2003.lnk" Excel.lnk 
:End
于 2012-04-28T21:33:57.533 回答