Page 1 sur 1
Connaitre la version de word/Excel installé sur le poste

Publié:
08 Oct 2007 à 15:28
par Stephane Maillard
Salut,
- Code : Tout sélectionner
Sub Initialize
Dim appWord As Variant
Set appWord = CreateObject("word.application")
If appWord.Version = "8.0" Then
Msgbox "97"
Elseif appWord.Version = "9.0" Then
Msgbox "2000"
Elseif appWord.Version = "10.0" Then
Msgbox "XP"
Elseif appWord.Version = "11.0" Then
Msgbox "2003"
Elseif appWord.Version = "12.0" Then ' A vérifier
Msgbox "2007"
End If
Set appWord = Nothing
End Sub
Dans le createobject mettre excel.application et le code devrait être valable.

Publié:
09 Oct 2007 à 10:30
par Michael DELIQUE
une version plus complète à partir du code de Stéphane
- Code : Tout sélectionner
Function MSOfficeVersion As Variant
'Déclaration variable
Dim vrObject As Variant
Dim lstValue List As String
On Error Goto ErreurHandle
On Error Resume Next
Set vrObject = CreateObject("word.application")
On Error Goto ErreurHandle
If vrObject Is Nothing Then
lstValue("WORD") = "ERROR"
Else
Select Case Cstr(vrObject.Version)
Case "8","8.0"
lstValue("WORD") = "97"
Case "9","9.0"
lstValue("WORD") = "2000"
Case "10","10.0"
lstValue("WORD") = "XP"
Case "11","11.0"
lstValue("WORD") = "2003"
Case "12","12.0"
lstValue("WORD") = "2007"
End Select
End If
Set vrObject = Nothing
On Error Resume Next
Set vrObject = CreateObject("excel.application")
On Error Goto ErreurHandle
If vrObject Is Nothing Then
lstValue("EXCEL") = "ERROR"
Else
Select Case Cstr(vrObject.Version)
Case "8","8.0"
lstValue("EXCEL") = "97"
Case "9","9.0"
lstValue("EXCEL") = "2000"
Case "10","10.0"
lstValue("EXCEL") = "XP"
Case "11","11.0"
lstValue("EXCEL") = "2003"
Case "12","12.0"
lstValue("EXCEL") = "2007" 'à Vérifier
End Select
End If
Set vrObject = Nothing
On Error Resume Next
Set vrObject = CreateObject("powerpoint.application")
On Error Goto ErreurHandle
If vrObject Is Nothing Then
lstValue("POWERPOINT") = "ERROR"
Else
Select Case Cstr(vrObject.Version)
Case "8","8.0"
lstValue("POWERPOINT") = "97"
Case "9","9.0"
lstValue("POWERPOINT") = "2000"
Case "10","10.0"
lstValue("POWERPOINT") = "XP"
Case "11","11.0"
lstValue("POWERPOINT") = "2003"
Case "12","12.0"
lstValue("POWERPOINT") = "2007" 'à Vérifier
End Select
End If
Set vrObject = Nothing
On Error Resume Next
Set vrObject = CreateObject("access.application")
On Error Goto ErreurHandle
If vrObject Is Nothing Then
lstValue("ACCESS") = "ERROR"
Else
Select Case Cstr(vrObject.Version)
Case "8","8.0"
lstValue("ACCESS") = "97"
Case "9","9.0"
lstValue("ACCESS") = "2000"
Case "10","10.0"
lstValue("ACCESS") = "XP"
Case "11","11.0"
lstValue("ACCESS") = "2003"
Case "12","12.0"
lstValue("ACCESS") = "2007" 'à Vérifier
End Select
End If
Set vrObject = Nothing
MSOfficeVersion = lstValue
Erase lstValue
Exit Function
ErreurHandle:
Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
Resume Next
Set MSOfficeVersion = Nothing
Exit Function
End Function

Publié:
09 Oct 2007 à 15:58
par abertisch
Michael DELIQUE a écrit:ok merci corrigé
Je sais que c'est pas le bon endroit pour poster mais il y a un 2ème soucis.
Il plante sur la ligne d'Access:
- Code : Tout sélectionner
Select Case Cstr(vrObject.Version)
J'ai le message d'erreur ci-dessous:
un idée ?!?

Publié:
09 Oct 2007 à 16:50
par Stephane Maillard
Salut,
Ca tourne chez moi avec un Lotus 7.0.2 et un Office 2003. Essai dans un access de faire un module et de mettre ce code msgbox application.version si cela ne fonctionne pas c'est que ta version ne le prend pas en compte. Dans Access faire F2 et rechercher Version dans la liste tu devrais trouvé Application => Version

Publié:
10 Oct 2007 à 06:51
par abertisch
Bonjour,
Merci pour votre aide.
J'ai trouvé un forum qui parle de mon problème:
http://www.developpez.net/forums/showth ... 785&page=3
Apparament la version d'access 2000 ne reconnait pas application.version
Mais j'ai trouvé ce bout de code sur le forum:
http://www.developpez.net/forums/showth ... ost2293854
Peut être est-il mieux ?

Publié:
10 Oct 2007 à 10:05
par Stephane Maillard
Salut,
Oui c'est pas mal, perso j'aime pas trop utiliser fso sauf si on ne peux pas faire autrement.

Publié:
05 Oct 2010 à 13:40
par Dammy
je crois que vous avez pas pensez qu'il pouvait y avoir plusieurs version d'Office d'installer sur le Pc !!!

Publié:
05 Oct 2010 à 15:38
par Michael DELIQUE
salut
en effet, ça n'a pas été prévus, le code va prendre la version référencé dans la base de registre (celle qui s'ouvre par défaut)
dans le cas d'une multi installation, hormis en allant trifouiller dans la base de registre je ne vois pas comment faire (sauf si tu connais les chemin d'installation des différentes versions)