2012-04-28 61 views
2

首先是的,我发布了这个在另一个董事会,但我给了他们充足的时间回答,并没有收到。Excel快捷方式打开最新安装的版本

快捷方式能够执行他们安装的最新版本的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

+0

您只需根据安装在用户系统上的应用程序版本更改'Target'字段。你遇到了什么问题? – dirkgently 2012-04-28 21:19:10

+0

我有团队成员使用多个版本的Excel,并且我为每个版本运行不同的VBA代码。告诉他们下载一个简单的快捷方式比存储一系列不同版本的快捷方式更容易,并要求他们选择合适的快捷方式。 – Wes 2012-04-28 22:33:43

回答

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保持活动状态。我以为我记得一个切换控制的批处理命令,但我找不到它;我一定在想另一种脚本语言。

顺便说一句。如果你使用谷歌的“windows批处理文件命令”,你将得到一系列提供批处理文件命令教程或语法的站点。但是,我通常使用命令HelpPauseHelp CopyPause创建批处理文件。

对于此解决方案,我创建了两个快捷方式,一个用于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 
+0

美丽地解决了这个问题,谢谢! – Wes 2012-04-28 22:28:49

+0

顺便说一句,终端cmd.exe执行完后,如何摆脱这个? – Wes 2012-04-28 22:50:16

+0

好吧,也许这不能做到,如何隐藏它呢? – Wes 2012-04-28 23:02:36