Finden Sie heraus, welche Excel-Version in .NET Framework installiert ist

Erstellungsdatum der Seite :

Um die installierte Version von Excel abzubekommen, verwenden Sie die Type.GetTypeFromProgID-Methode, um den Typ von Excel.Application abzudateien und eine Instanz mit derActivator.CreateInstance-Methode zu generieren. Wenn Sie eine Instanz von Excel.Application nicht direkt generieren, wird vermieden, dass sie von der direkten Lye versionsabhängig ist. Auf diese Weise können Sie die neueste Version sehen.

Sie können dann auf die Version-Eigenschaft aus der generierten Anwendungsinstanz verweisen, um die Version abzuladen. Die abgerufene Version ist die Version, über die Excel intern verfügt. Excel 2010 ist beispielsweise 14.0 und Excel 2013 15.0.

Um diese Klassen verwenden zu können, müssen Sie außerdem System.Reflection und System.Runtime.InteropServices konfigurieren.

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

Andere Sites haben ähnliche Beschreibungen, aber einige Sites veröffentlichen keine Anwendungen mit Marshal.ReleaseComObject. Wenn Sie dies vergessen, bleibt der Excel-Prozess erhalten, also stellen Sie sicher, dass Sie ihn endlich freigeben.