我試圖在我的應用程序中啓動具有特定參數的Microsoft Excel(即,額外的xla & xll)。檢查已安裝的Excel版本並啓動它
現在它工作正常,因爲我的所有用戶只安裝了Office11(= 2003)。
我公司將切換到Windows 7 & Office 2010和我在邏輯上無法啓動任何練成,因爲該.exe不位於C:\Program Files:\Microsoft Office\Office11\EXCEL.EXE
我跑在註冊表中進行快速檢查,看我可以肯定地檢查當前安裝的版本。還有大量文章解釋如何獲取當前安裝的Office版本。
但是,我想知道是否有可能找到任何東西(如一個很好的註冊表項),直接給我的.exe路徑,以便啓動Excel。
使用我目前該機(Win XP的X86,OFFICE11),我可以在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Excel\InstallRoot
發現它使用這個鍵,我可以,基本上,找到一種解決方法,以獲得實際路徑。問題:在安裝了Office 2010(= Office 14)的Windows 7註冊表中沒有這樣的密鑰。
你們知道任何方式從C#啓動當前安裝的Excel嗎?
僅供參考,這裏是當前的代碼段,從64位/ x86機器啓動OFFICE11:
private void LaunchExcel(string arguments)
{
if (!Is64BitsOS())
{
Process process = new Process();
process.StartInfo.FileName = "excel";
process.StartInfo.Arguments = arguments;
process.Start();
}
else
{
Process process = new Process();
process.StartInfo.FileName = "c:/Program Files (x86)/Microsoft Office/Office11/excel.exe";
process.StartInfo.UseShellExecute = false;
process.StartInfo.Arguments = arguments;
process.Start();
}
}
任何想法,以使代碼更通用的?