AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
18.09.21 - 22:48:02
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  Tipps und Tricks (Moderatoren: eknori, fritandr, ata)
| | |-+  installierte Office Version ermitteln
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: installierte Office Version ermitteln  (Gelesen 15048 mal)
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11560


« am: 03.02.05 - 09:57:11 »

Hier ein kleiner Tip, wie man mit @RegQueryValue die installierte Office Version ermittelt ( Office97, Office2000, OfficeXP )
Gespeichert
joringel
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 105


« Antworten #1 am: 03.02.05 - 11:31:26 »

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
Gespeichert

Nenne nie einen Server 'Lokal'...
Axel
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8658


It's not a bug, it's Notes


« Antworten #2 am: 04.02.05 - 08:12:22 »

Ist Dir da ein Tippfehler unterlaufen?


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


Axel
Gespeichert

Ohne Computer wären wir noch lange nicht hinterm Mond!
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11560


« Antworten #3 am: 04.02.05 - 08:25:56 »

ich habe das gestern noch korrigiert; mein CMS hat irgendwie Probleme mit den Backslashes
Gespeichert
cgorni
Junior Mitglied
**
Offline Offline

Geschlecht: Männlich
Beiträge: 54



« Antworten #4 am: 25.02.05 - 16:21:46 »

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
Gespeichert
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11560


« Antworten #5 am: 25.02.05 - 16:25:20 »

Danke für deinen Tip  Cheesy

Zitat
kann man sicher sein, das alle anderen Werte leer sind, wenn eine neue Version von Word installiert ist?

Ich habe es stichprobenartig mal an mehreren Rechnern bei uns im Betrieb gechecked; sieht so aus, als könnte man sich darauf verlassen, daß nur in der installierten Version der Key vorhanden ist
Gespeichert
spookycoder
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 19


Harald


WWW
« Antworten #6 am: 12.02.10 - 13:00:18 »

Hallo zusammen,

srry für die eventuelle Leichenschändung, aber ich fand den Code sehr sehr hilfreich - dickes Danke.

Ich hab ihn ein wenig erweitert, sodass er tatsächlich auf ein installiertes Word prüft, die oben gezeigten Versionen prüfen nur auf ein installiertes Office - konstruierterweise müsste dabei das Word ja gar nicht installiert sein.

So, anbei der Code für Office und Word Prüfung:

Code:
Function GetOfficeVersion() As String
   
   Const REGOFFICE_97      = "Software\\Microsoft\\Office\\8.0\\Common\\InstallRoot"
   Const REGOFFICE_2000    = "Software\\Microsoft\\Office\\9.0\\Common\\InstallRoot"
   Const REGOFFICE_XP      = "Software\\Microsoft\\Office\\10.0\\Common\\InstallRoot"
   Const REGOFFICE_2003    = "Software\\Microsoft\\Office\\11.0\\Common\\InstallRoot"
   Const REGOFFICE_2007    = "Software\\Microsoft\\Office\\12.0\\Common\\InstallRoot"
   Const REGOFFICE_2010    = "Software\\Microsoft\\Office\\13.0\\Common\\InstallRoot"
   Const OFFICENAME_97     = "Office 97"
   Const OFFICENAME_2000   = "Office 2000"
   Const OFFICENAME_XP     = "Office XP"
   Const OFFICENAME_2003   = "Office 2003"
   Const OFFICENAME_2007   = "Office 2007"
   Const OFFICENAME_2010   = "Office 2010"
   
   Dim formula As String
   Dim OfficeVersions List As String
   Dim v As Variant
   
   '----------------------------------------------------------------------
   ' Initialize all possible versions
   '----------------------------------------------------------------------
   OfficeVersions(OFFICENAME_97)        = REGOFFICE_97
   OfficeVersions(OFFICENAME_2000)      = REGOFFICE_2000
   OfficeVersions(OFFICENAME_XP)        = REGOFFICE_XP
   OfficeVersions(OFFICENAME_2003)      = REGOFFICE_2003
   OfficeVersions(OFFICENAME_2007)      = REGOFFICE_2007
   OfficeVersions(OFFICENAME_2010)      = REGOFFICE_2010
   
   '----------------------------------------------------------------------
   ' Test for version
   '----------------------------------------------------------------------
   ForAll o In OfficeVersions
      formula$ = | (@RegQueryValue("HKEY_LOCAL_MACHINE"; "| & o & |";"Path")) |
      v = Evaluate( formula$ )
      If v(0) <> "" Then
         GetOfficeVersion = ListTag(o)
         Exit Function
      End If
   End ForAll
   
   GetOfficeVersion = ""
   
End Function


Function GetWordVersion() As String
   
   Const REGWORD_97      = "Software\\Microsoft\\Office\\8.0\\Word\\Common\\InstallRoot"
   Const REGWORD_2000    = "Software\\Microsoft\\Office\\9.0\\Word\\Common\\InstallRoot"
   Const REGWORD_XP      = "Software\\Microsoft\\Office\\10.0\\Word\\Common\\InstallRoot"
   Const REGWORD_2003    = "Software\\Microsoft\\Office\\11.0\\Word\\Common\\InstallRoot"
   Const REGWORD_2007    = "Software\\Microsoft\\Office\\12.0\\Word\\Common\\InstallRoot"
   Const REGWORD_2010    = "Software\\Microsoft\\Office\\13.0\\Word\\Common\\InstallRoot"
   Const WORDNAME_97     = "Word 97"
   Const WORDNAME_2000   = "Word 2000"
   Const WORDNAME_XP     = "Word XP"
   Const WORDNAME_2003   = "Word 2003"
   Const WORDNAME_2007   = "Word 2007"
   Const WORDNAME_2010   = "Word 2010"
   
   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
   WordVersions(WORDNAME_2007)      = REGWORD_2007
   WordVersions(WORDNAME_2010)      = REGWORD_2010
   
   '----------------------------------------------------------------------
   ' 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

lg

Harald
Gespeichert
shiraz
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 591



« Antworten #7 am: 12.09.11 - 15:46:05 »

kleine Änderung bei Office 2010


Office 2000 -  9.0
Office XP   - 10.0
Office 2003 - 11.0
Office 2007 - 12.0
Office 2010 - 14.0 !!!!


Gruß
Christian
Gespeichert

Gruß
Christian
ata
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5092


drenaiondrufflos


WWW
« Antworten #8 am: 13.09.11 - 07:56:08 »

... das liegt wohl am Apollo-13-Syndrom  Grin Grin Grin

Toni
Gespeichert

Grüßle Toni Smiley
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: