Dowiedz się, która wersja programu Excel jest zainstalowana w programie .NET Framework

Data utworzenia strony :

Aby uzyskać zainstalowaną wersję programu Excel, użyj metody Type.GetTypeFromProgID, aby uzyskać typ aplikacji Excel.Application i wygenerować wystąpienie za pomocą metodyActivator.CreateInstance. Nie generowanie wystąpienia programu Excel.Application bezpośrednio jest uniknięcie zależności od wersji przez direct lye. W ten sposób będzie można zobaczyć najnowszą wersję.

Następnie można odwołać się do Version właściwości z wystąpienia aplikacji generowane, aby uzyskać wersję. Pobrana wersja jest wersją, którą program Excel ma wewnętrznie. Na przykład program Excel 2010 ma 14,0, a program Excel 2013 — 15,0.

Ponadto, aby korzystać z tych klas, należy skonfigurować System.Reflection i System.Runtime.InteropServices w użyciu.

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

Inne witryny mają podobne opisy, ale niektóre witryny nie zwalniają aplikacji za pomocą pliku Marshal.ReleaseComObject. Jeśli zapomnisz tego, proces programu Excel pozostanie, więc upewnij się, że wkońcu go zwolnisz.