怎麼獲取自己電腦的Office軟件的版本號

轉自

由於我們開發所用的office版本和客戶用的版本經常不一樣,所以我們開發的時候得考慮周全,將所有版本的情況都要考慮進去,這就需要識別office版本,看到有人寫得很好了,特轉來留用。

private void button1_Click(object sender, EventArgs e)
    {
        string officeShowStr =GetExcelVerStr();
        MessageBox.Show(officeShowStr);
    }
        //第二種方法
public static double CheckExcelVer()
    {
         Type objExcelType = Type.GetTypeFromProgID("Excel.Application");
            if (objExcelType == null)
            {
                return 0;
            }
            object objApp = Activator.CreateInstance(objExcelType);
            if (objApp == null)
            {
                return 0;
            }
            object objVer = objApp.GetType().InvokeMember("Version", BindingFlags.GetProperty, null, objApp, null);

            double iVer = Convert.ToDouble(objVer.ToString());
            objVer = null;
            objApp = null;
            objExcelType = null;
            GC.Collect();
            return iVer;
        }

public static String GetExcelVerStr()
    {
        String s1 = " Office ";
        double excelver;
        excelver = CheckExcelVer();
        if (excelver == 0)
        {
            MessageBox.Show("無法識別Excel的版本", "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Information);
            s1 = "無法識別 office 版本";
        }
        else if (excelver >= 14) s1 += "2010或以上";
        else if (excelver >= 12) s1 += "2007";
        else if (excelver >= 11) s1 += "2003";
        else if (excelver >= 10) s1 += "XP";
        else if (excelver >= 9) s1 += "2000";
        else if (excelver >= 8) s1 += "97";
        else if (excelver >= 7) s1 += "95";
        return s1;
    } 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章