Bonjour,
A l'ouverture d'un masque je voudrais savoir si excel est installé sur la machine. Comment puis-je procéder ?
Merci
roubech a écrit:au hasard, je dirais, essayes d'instancier l'appli OLE et si tu as une erreur ...
[syntax="LotusScript"]on Error Goto ErrorHandler
Set XLApp = CreateObject("Excel.Application")
ErrorHandler :
msgbox "Excel non installé"[/syntax]
Sub Click(Source As Button)
Dim XLApp As Variant
On Error Goto ErrorHandler
Set XLApp = CreateObject("Excel.Application")
XLApp.Quit
Exit Sub
ErrorHandler :
Msgbox "Excel non installé"
End SubSub Click(Source As Button)
Dim XLApp As Variant
On Error Goto ErrorHandler
Set XLApp = CreateObject("Excel.Application")
XLApp.Quit
Exit Sub
ErrorHandler :
resume next
Msgbox "Excel non installé"
End SubMichael DELIQUE a écrit:salut
essais ça
- Code : Tout sélectionner
Sub Click(Source As Button)
Dim XLApp As Variant
On Error Goto ErrorHandler
Set XLApp = CreateObject("Excel.Application")
XLApp.Quit
Exit Sub
ErrorHandler :
resume next
Msgbox "Excel non installé"
End Sub
Function TestExcel() As Boolean
Dim XLApp As Variant
On Error Goto ErrorHandler
TestExcel = True
Set XLApp = CreateObject("Excel.application")
XLApp.Quit
Exit Function
ErrorHandler :
TestExcel = False
Exit Function
End FunctionPublic Function MSOfficeVersion As Variant
'Déclaration variable
Dim vrObject As Variant
Dim lstValue List As String
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 !"
Set MSOfficeVersion = Nothing
Exit Function
End Function Michael DELIQUE a écrit:re,
cette fonction marche pour moi
- Code : Tout sélectionner
Function TestExcel() As Boolean
Dim XLApp As Variant
On Error Goto ErrorHandler
TestExcel = True
Set XLApp = CreateObject("Excel.application")
XLApp.Quit
Exit Function
ErrorHandler :
TestExcel = False
Exit Function
End Function