Dave:
your method is safe but slow...
(just imagine your user has 10 addins installed)
it might be a bit faster to change as follows:
(it doesn't start a 2nd instance if there's already one running).
for this quick & dirty demo i've left out the disableevents and
displayalerts, which i normally would include.
on error resume next
set xlapp = GetObject(,"excel.application")
if not xlapp is nothing then
installed=true
else
set xlapp = CreateObject("excel.application")
if not xlapp is nothing then
xlapp.quit
installed=true
endif
endif
set xlapp=nothing
keepITcool
< email : keepitcool chello nl (with @ and .)
< homepage:
http://members.chello.nl/keepitcool
Dave Peterson wrote:
Wouldn't the safest method of checking for excel is to really check to
see if it's there.
Both of these worked ok for me in MSWord--I'm not sure what language
you're using.
Option Explicit
Sub testme()
Dim myXL As Object
Set myXL = Nothing
On Error Resume Next
Set myXL = CreateObject("excel.application")
On Error GoTo 0
If myXL Is Nothing Then
'not installed
Else
myXL.Quit
End If
Set myXL = Nothing
End Sub
Sub testme2()
Dim myXL As Object
Dim isInstalled As Boolean
Set myXL = Nothing
On Error Resume Next
Set myXL = CreateObject("excel.application")
isInstalled = CBool(Err.Number = 0)
On Error GoTo 0
If isInstalled Then
myXL.Quit
Else
'not installed
End If
Set myXL = Nothing
End Sub
Mark wrote:
Hi,
My program needs to check if excel is installed before continuing so
that way it doesn't fail if it can't use the Excel.Application
object. Does anyone know a relaible way to check for this among all
versions of Excel? I can't seem to find a steady registry key or
file location that I know will always be there for any version.
Thanks.
Mark