Lotus Notes / Domino Sonstiges > Tipps und Tricks
installierte Office Version ermitteln
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