.NET Framework와 함께 설치 되어 있는 Excel의 버전을 확인 하려면
페이지 생성 날짜 :
설치 된 Excel 버전을 가져오려면 Type.GetTypeFromProgID 메서드를 사용 하 여 Excel.Application 유형을 가져오고Activator.CreateInstance 메서드 인스턴스를 생성 합니다. 직접 Excel.Application 인스턴스를 생성 하지 않는 것은 직접 참조 하 여 버전에 의존 하는 것을 방지할 수 있습니다. 이 방법을 채택 하 여 최신 버전을 참조할 수 있습니다.
다음은 생성 된 application 인스턴스에서 Version 속성을 참조 하 여 버전을 검색할 수 있습니다. 검색 된 버전은 Excel 내부에 있는 버전입니다. 예를 들어 Excel 2010은 14.0, Excel 2013는 15.0입니다.
또한 이러한 클래스를 사용 하려면 using 「 System.Reflection "" 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);
}
}
}
다른 사이트 에서도 설명 되어 있는 곳이 있지만 일부 사이트에서는 Marshal.ReleaseComObject의 application의 발표 를 하지 않는 곳이 있습니다. 이것을 잊어버리면 Excel 프로세스가 남게 되어 버리기 때문에 finally에서 해제 하도록 합시다.