पता लगाएं कि एक्सेल का कौन सा संस्करण .NET फ्रेमवर्क में स्थापित है

पेज निर्माण की तारीख :

एक्सेल का इंस्टॉल संस्करण प्राप्त करने के लिए, एक्सेल.एप्लीकेशन के प्रकार प्राप्त करने औरएक्टिवेटर.Createउदाहरण विधि के साथ एक उदाहरण उत्पन्न करने के लिए टाइप.GetTypeFromProgID विधि का उपयोग करें। Excel.Application का एक उदाहरण सीधे पैदा नहीं करने के लिए सीधे lye द्वारा संस्करण पर निर्भर होने से बचने के लिए है । इस तरह, आप नवीनतम संस्करण देख पाएंगे।

फिर आप संस्करण प्राप्त करने के लिए उत्पन्न आवेदन उदाहरण से संस्करण संपत्ति का संदर्भ दे सकते हैं। प्राप्त संस्करण संस्करण है कि एक्सेल आंतरिक रूप से है । उदाहरण के लिए, एक्सेल 2010 14.0 है, और एक्सेल 2013 15.0 है।

इसके अलावा, इन कक्षाओं का उपयोग करने के लिए, आपको सिस्टम.रिफ्लेक्शन और सिस्टम.Runtime.InteropServices का उपयोग करने में कॉन्फ़िगर करना होगा।

/// <summary>
/// インストールされている Excel のバージョンを取得します。
/// </summary>
/// <returns>インストールされている Excel のバージョン。</returns>
public static decimal GetInstallExcelVersion()
{
  // Excelアプリケーションに接続
  var type = Type.GetTypeFromProgID("Excel.Application");
  object application = null;
  try
  {
    application = Activator.CreateInstance(type);

    if (application == null)
    {
      // 未インストールの場合
      return 0;
    }

    // バージョンを取得
    var ver =
        application.GetType().InvokeMember(
        "Version", BindingFlags.GetProperty, null, application, null);

    decimal version;
    if (!decimal.TryParse(ver.ToString(), out version))
    {
      return 0;
    }
    return version;
  }
  finally
  {
    if (application != null)
    {
      Marshal.ReleaseComObject(application);
    }
  }
}

अन्य साइटों में समान विवरण हैं, लेकिन कुछ साइटें मार्शल.रिलीजकॉमऑब्जेक्ट के साथ आवेदन जारी नहीं करती हैं। यदि आप इसे भूल जाते हैं, तो एक्सेल प्रक्रिया बनी रहेगी, इसलिए सुनिश्चित करें कि आप इसे अंत में जारी करते हैं।