Zistite, ktorá verzia programu Excel je nainštalovaná v .NET Framework

Dátum vytvorenia strany :

Ak chcete získať nainštalovanú verziu programu Excel, použite metódu Type.GetTypeFromProgID získať typ Excel.Application a generovať inštanciu smetódou Activator.CreateInstance. Nevytvára inštanciu programu Excel.Application priamo je vyhnúť sa verzia-závislé priamo lúh. Týmto spôsobom budete môcť vidieť najnovšiu verziu.

Potom môžete odkaz na vlastnosť Verzia z vygenerovanej inštancie aplikácie získať verziu. Načítaná verzia je verzia, ktorú program Excel interne. Napríklad Excel 2010 je 14.0 a Excel 2013 je 15.0.

Tiež používať tieto triedy, musíte nakonfigurovať System.Reflection a System.Runtime.InteropServices v používaní.

/// <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);
    }
  }
}

Iné lokality majú podobný popis, ale niektoré lokality nevydávajú aplikácie s Marshal.ReleaseComObject. Ak na to zabudnete, proces programu Excel zostane, takže sa uistite, že ho konečne uvoľnite.