Как проверить, есть ли на компьютере установлен Excel (любая версия)? - PullRequest
3 голосов
/ 08 апреля 2010

У меня есть приложение Windows Form, которое при запуске должно видеть, установлен ли на компьютере пользователя Excel, и если нет, отображать сообщение, информирующее пользователя о том, что часть функций будет отключена.

Это простой способ выполнить эту проверку?

Работа в Visual Studio 2008 с VB.Net

Ответы [ 3 ]

4 голосов
/ 08 апреля 2010

http://www.xldennis.com/dloads/checkexcelversion.txt

В качестве выдержки:

Const stXL_SUBKEY As String = "\Excel.Application\CurVer"
Dim rkVersionKey As RegistryKey = Nothing
rkVersionKey = Registry.ClassesRoot.OpenSubKey(name:=stXL_SUBKEY, writable:=False)

If rkVersionKey Is Nothing Then
   'not installed
End If
3 голосов
/ 08 апреля 2010

Это проверит реестр и сообщит вам версию: (необходимо импортировать Microsoft.Win32)

Изображение http://vbcity.com/cfs-file.ashx/__key/CommunityServer.Discussions.Components.Files/41/2656.excelversionreg.JPG

Dim regKey = My.Computer.Registry.ClassesRoot.OpenSubKey("Excel.Application", False).OpenSubKey("CurVer", False)

Console.WriteLine(regKey.GetValue("").ToString())

http://vbcity.com/forums/p/160664/688143.aspx#688143

0 голосов
/ 08 апреля 2010

Проверьте, есть ли запись реестра для .xls-файлов под HKCR.

...