Lotus Notes / Domino Sonstiges > Tipps und Tricks

installierte Office Version ermitteln

(1/2) > >>

eknori (retired):
Hier ein kleiner Tip, wie man mit @RegQueryValue die installierte Office Version ermittelt ( Office97, Office2000, OfficeXP )

joringel:
Ist Dir da ein Tippfehler unterlaufen? Müsste m.E. so aussehen:

_retVal:=
@If(
@RegQueryValue("HKEY_LOCAL_MACHINE"; "Software\\Microsoft\\Office\\8.0\\Common\\InstallRoot"; "Path")!="";"Office 97";
@RegQueryValue("HKEY_LOCAL_MACHINE"; "Software\\Microsoft\\Office\\9.0\\Common\\InstallRoot"; "Path")!="";"Office 2000";
@RegQueryValue("HKEY_LOCAL_MACHINE"; "Software\\Microsoft\\Office\\10.0\\Common\\InstallRoot"; "Path")!="";"Office XP";
"no Office installed");
@Prompt([Ok];" ";_retVal)

Trotzdem sehr brauchbar, danke.

Gruss
Joringel

Axel:

--- Zitat von: joringel am 03.02.05 - 11:31:26 ---Ist Dir da ein Tippfehler unterlaufen?

--- Ende Zitat ---


Wo soll denn der Tippfehler sein? Das sieht doch genauso aus.


Axel

eknori (retired):
ich habe das gestern noch korrigiert; mein CMS hat irgendwie Probleme mit den Backslashes

cgorni:
Danke für den Tip. Kann ich wirklich gut gebrauchen, da ich öfter mal was mit Word und OLE mache. Deswegen: hier die version für LotusScript.

------ SNIP -----

Function getWordVersion() As String
   
   Const REGWORD_97         = "Software\\Microsoft\\Office\\8.0\\Common\\InstallRoot"
   Const REGWORD_2000      = "Software\\Microsoft\\Office\\9.0\\Common\\InstallRoot"
   Const REGWORD_XP      = "Software\\Microsoft\\Office\\10.0\\Common\\InstallRoot"
   Const REGWORD_2003      ="Software\\Microsoft\\Office\\11.0\\Common\\InstallRoot"
   Const WORDNAME_97      = "Office 97"
   Const WORDNAME_2000   = "Office 2000"
   Const WORDNAME_XP      = "Office XP"
   Const WORDNAME_2003   = "Office 2003"
   
   Dim formula As String
   Dim WordVersions List As String
   Dim v As Variant
   
   '----------------------------------------------------------------------
   ' Initialize all possible versions
   '----------------------------------------------------------------------
   WordVersions(WORDNAME_97)         = REGWORD_97
   WordVersions(WORDNAME_2000)      = REGWORD_2000
   WordVersions(WORDNAME_XP)      = REGWORD_XP
   WordVersions(WORDNAME_2003)      = REGWORD_2003
   
         '----------------------------------------------------------------------
   ' Test for version
   '----------------------------------------------------------------------
   Forall w In WordVersions
      formula$ = | (@RegQueryValue("HKEY_LOCAL_MACHINE"; "| & w & |";"Path")) |
      v = Evaluate( formula$ )
      If v(0) <> "" Then
         getWordVersion = Listtag(w)
         Exit Function
      End If
   End Forall
   
   getWordVersion = ""
   
End Function

------ SNIP -----

Das kann man bestimmt noch aufbohren, um andere Software abzufragen.

Aber hier noch eine Frage: kann man sicher sein, das alle anderen Werte leer sind, wenn eine neue Version von Word installiert ist?


Gruß,
Christian

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln