Excelin asennetun Version selvittäminen .NET Frameworkissa

Sivun luontipäivämäärä :

Jos haluat asentaa Excelin asennetun version, hae Excel.Application-tyypin Type.GetTypeFromProgID-menetelmällä ja luo Excel.Application esiintymä Activator.CreateInstance-menetelmällä. Excel.Application-esiintymän luominen suoraan on sitä, että suora lye ei ole versioriippuvainen. Näin näet uusimman version.

Tämän jälkeen voit hakea version viittaamaan Version-ominaisuuteen luodusta sovellusesiintymästä. Haettu versio on Excelin sisäinen versio. Esimerkiksi Excel 2010 on 14.0 ja Excel 2013 15.0.

Jotta voit käyttää näitä luokkia, sinun on määritettävä Käytössä System.Reflection ja System.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);
    }
  }
}

Muilla sivustoilla on samanlaiset kuvaukset, mutta jotkin sivustot eivät julkaise sovelluksia Marshal.ReleaseComObject-sovelluksella. Jos unohdat tämän, Excel-prosessi säilyy, joten varmista, että vapautat sen lopulta.