【.NET】【C#】レジストリからExcelのバージョン取得する
using Microsoft.Win32; using System; class Program { static void Main(string[] args) { try { var keyData = ""; using (var regKey = Registry.ClassesRoot.OpenSubKey(@"Excel.Application\CurVer")) { if (regKey != null) keyData = regKey.GetValue("").ToString(); } Console.WriteLine(GetVersionName(keyData)); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { Console.ReadLine(); } } private static string GetVersionName(string keyData) { var name = "Excel "; switch (keyData.Substring(keyData.LastIndexOf(".") + 1)) { case "8": return name += "97"; case "9": return name += "2000"; case "10": return name += "2002(XP)"; case "11": return name += "2003"; case "12": return name += "2007"; case "14": return name += "2010"; default: return "#N/A"; } } }
バージョン番号の文字列取得するところがかっこ悪いなー。