Check for instance of EXCEL running
Thanks! That works. I used it like below: Now a followup question if I
may...
Looking in Task Manager, If an existing instanse of Excel was running, my
app will cause a secnod Excel process to run. It works fine, except when I
use code to reference workbooks and sheets for formatting. Can I use the
existing instance of Excel instead of opening Excel again? Is there a
variation of GetObject(, "Excel.Application") that will use the existing
instance of Excel?
Thanks very much.
Kevin
If FindWindow("XLMAIN", vbNullString) Then
Set oExcel = GetObject(, "Excel.Application")
Else
Set oExcel = CreateObject("Excel.Application")
End If
"AA2e72E" wrote in message
...
Try:
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
lpClassName As String, ByVal lpWindowName As String) As Long
Sub aa()
Debug.Print FindWindow("XLMAIN", vbNullString)
End Sub
This code must go in a module. If the result is 0, no Excel session is
running.
XLMAIN is the class name for ALL versions of Excel.
"Kevin" wrote:
I'm trying to test for an existing instance of Excel already running.
In my VB6 code I do the following:
Dim oExcel As Object
Set oExcel = CreateObject("Excel.Application")
If Excel were already running I would do this:
Set oExcel = GetObject(, "Excel.Application")
How can I test to see if Excel is already running? I've found some
examples
but they were a bit convoluted.
Thanks for any help.
Kevin
|