Bonjour,
Notons que le code initial est de Laurent Godard [2004] (Merci Laurent)
http://codesnippets.services.openoffice.org/Office/Office.Version.snip
Également disponible sur :
http://www.oooforum.org/forum/viewtopic.phtml?t=10003
ainsi que le document de Andrew Pitonyak (gratuit) :
http://www.pitonyak.org/AndrewMacro.odt
Didier Dorange-Pattoret a écrit :
Bonjour,
fabs...@wanadoo.fr a écrit :
Quelqu'un sait-il comment récupérer la version d'OOo par code pour contourner
le problème?
Function OOoNumVersion() As Integer
'Retreives the running OOO version
Dim aSettings, aConfigProvider
Dim aParams2(0) As new com.sun.star.beans.PropertyValue
Dim sProvider$, sAccess$
sProvider = "com.sun.star.configuration.ConfigurationProvider"
sAccess = "com.sun.star.configuration.ConfigurationAccess"
aConfigProvider = createUnoService(sProvider)
aParams2(0).Name = "nodepath"
aParams2(0).Value = "/org.openoffice.Setup/Product"
aSettings = aConfigProvider.createInstanceWithArguments(sAccess,
aParams2())
If aSettings.hasbyname("ooSetupVersionAboutBox") Then
sOOOVersion = aSettings.getbyname("ooSetupVersionAboutBox")
Else
sOOOVersion = aSettings.getbyname("ooSetupVersion")
EndIf
If Len(sOOOVersion) = 3 Then sOOOVersion = sOOOVersion & ".0"
OOoNumVersion = Cint(Mid(sOOOVersion,1,1))*100 +
Cint(Mid(sOOOVersion,3,1))*10 + Cint(Mid(sOOOVersion,5,1))
End Function
Cette fonction peut convenir.