Dowiedz się, która wersja programu Excel jest zainstalowana w programie .NET Framework
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.