2012-04-28 43 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