Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Check for instance of EXCEL running
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 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Check for instance of EXCEL running
Hi Kevin
Don't overcomplicate this. Just use GetObject. If it errs then excel's not running and so you create one: Dim oExcel As Object On Error Resume Next Set oExcel = GetObject(, "Excel.Application") If oExcel Is Nothing Then Set oExcel = CreateObject("Excel.Application") End If HTH. Best wishes Harald "Kevin" skrev i melding ... 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 |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Check for instance of EXCEL running
Look in help at GetObject. See the help example. It pretty much shows all
you have asked. -- Regards, Tom Ogilvy "Kevin" wrote in message ... 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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
my excel settings changed and i have only 1 instance running. | Setting up and Configuration of Excel | |||
Running Two Instance of Excel 2003 Simultaneously - Advice Please | Excel Discussion (Misc queries) | |||
How to determine if instance of Excel is running | Excel Programming | |||
Check for Excel version before running? | Excel Programming | |||
opening and running macros in an Excel file in a new instance of Excel | Excel Programming |