Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.18;
Скачать: CL | DM;

Вниз

Как определить установлен ли пакет MS Office   Найти похожие ветки 

 
root ©   (2005-08-24 09:20) [0]

Господа как определить установлен ли пакет MS Office  и какой версии?


 
asmi ©   (2005-08-24 09:56) [1]

Реестр не пробовал юзать?


 
OldNaum ©   (2005-08-24 10:26) [2]

вариант с ходу - проанализировать ветки
HKLM\Software\Microsoft\Office
HKCU\Software\Microsoft\Office

судя по всему версия MS Office - старшая версия в названиях ключей (9.0 / 10.0 / 11.0) осталось только сопоставить эти версии с привычными названиями )) 11.0 - Office2003 судя по всему.

не утверждаю, но вполне вероятно есть параметр, хранящий ифнормацию о версии. ну эт ты уж сам )


 
pepper ©   (2005-08-24 10:49) [3]

----------Visual Basic--------------------------------
Private Declare Function RegOpenKey Lib "advapi32" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, lpReserved As Long, lptype As Long, lpData As Any, lpcbData As Long) As Long
Private Declare Function RegCloseKey& Lib "advapi32" (ByVal hKey&)
Private Const REG_SZ = 1
Private Const REG_EXPAND_SZ = 2
Private Const ERROR_SUCCESS = 0
Const HKEY_CLASSES_ROOT = &H80000000
Function GetRegString(hKey As Long, strSubKey As String, strValueName As String) As String
Dim strSetting As String
Dim lngDataLen As Long
Dim lngRes As Long
If RegOpenKey(hKey, strSubKey, lngRes) = ERROR_SUCCESS Then
strSetting = Space(255)
lngDataLen = Len(strSetting)
If RegQueryValueEx(lngRes, strValueName, ByVal 0, REG_EXPAND_SZ, ByVal strSetting, lngDataLen) = ERROR_SUCCESS Then
If lngDataLen > 1 Then
GetRegString = Left(strSetting, lngDataLen - 1)
End If
End If
If RegCloseKey(lngRes) <> ERROR_SUCCESS Then
MsgBox "RegCloseKey Failed: " strSubKey, vbCritical
End If
End If
End Function
Public Function IsAppPresent(strSubKey$, strValueName$) As Boolean
IsAppPresent = CBool(Len(GetRegString(HKEY_CLASSES_ROOT, strSubKey, strValueName)))
End Function

Private Sub Form_Paint()
Print "Access " & IsAppPresent("Access.Database\CurVer", "")
Print "Excel " & IsAppPresent("Excel.Sheet\CurVer", "")
Print "PowerPoint " & IsAppPresent("PowerPoint.Slide\CurVer", "")
Print "Word " & IsAppPresent("Word.Document\CurVer", "")
End Sub

Инфа взята http://www.rusedu.info/


 
pepper ©   (2005-08-24 11:12) [4]

Информация о COM-сервере Word в реестре:

[HKEY_CLASSES_ROOT\Word.Application]
@="Приложение Microsoft Word"
[HKEY_CLASSES_ROOT\Word.Application\CLSID]
@="{000209FF-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\Word.Application\CurVer]
@="Word.Application.9"

Путь к серверу,тип:

[HKEY_CLASSES_ROOT\CLSID\{000209FF-0000-0000-C000-000000000046}]
@="Приложение Microsoft Word"
[HKEY_CLASSES_ROOT\CLSID\{000209FF-0000-0000-C000-000000000046}\LocalServer32]
@="C:\\PROGRA~1\\MICROS~1\\OFFICE\\WINWORD.EXE  /Automation"
[HKEY_CLASSES_ROOT\CLSID\{000209FF-0000-0000-C000-000000000046}\ProgID]
@="Word.Application.9"
[HKEY_CLASSES_ROOT\CLSID\{000209FF-0000-0000-C000-000000000046}\VersionIndependentProgID]
@="Word.Application"
[HKEY_CLASSES_ROOT\CLSID\{000209FF-0000-0000-C000-000000000046}\InprocHandler32]
@="ole32.dll"


 
pepper ©   (2005-08-24 11:13) [5]

MM   (25.10.02 16:41)

if not IsOLEObjectInstalled("Excel.Application") then
  ShowMessage("MS Excel не установлен!")
else
  ShowMessage("MS Excel установлен!");

function IsOLEObjectInstalled(Name: String): boolean;
var
ClassID: TCLSID;
Rez : HRESULT;
begin
Rez := CLSIDFromProgID(PWideChar(WideString(Name)), ClassID);
if Rez = S_OK then
  Result := true
else
  Result := false;
end;



Страницы: 1 вся ветка

Текущий архив: 2005.09.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
3-1123079751
Гость22
2005-08-03 18:35
2005.09.18
Как в Database Desktop убрать ненужное поле таблицы Paradox?


14-1125120486
Sergey Masloff
2005-08-27 09:28
2005.09.18
Проапгрейдить домашний комп.


4-1120929115
Olejek
2005-07-09 21:11
2005.09.18
Включение-отключение сетевого адаптера


2-1123936347
RomanBishkek
2005-08-13 16:32
2005.09.18
Как можно обновить одну запись через Query


2-1123689288
Klopan
2005-08-10 19:54
2005.09.18
TQuery