Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 39
Default find count of multiple excel instances

Hello ,

If anyone knows how to get count of all the instances of excel that are open
at a time on the machine?

using getobject will reference to the instance of the excel application that
was opened first but it will not say how many instances are already open at
that point of time.

I need this value in a start up of an xla file which runs on loading of
excel (2003)
If more then one instance are open then I want to exit from furthur loading
of xla .

Thanks,

Nayan
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 24
Default find count of multiple excel instances

On Jun 11, 1:04 pm, Nayan wrote:
Hello ,

If anyone knows how to get count of all the instances of excel that are open
at a time on the machine?

using getobject will reference to the instance of the excel application that
was opened first but it will not say how many instances are already open at
that point of time.

I need this value in a start up of an xla file which runs on loading of
excel (2003)
If more then one instance are open then I want to exit from furthur loading
of xla .

Thanks,

Nayan


Here's a VB Script you can use:

Dim XLCount
Dim oWMI

Set oWMI = GetObject("winmgmts:")
XLCount = 0

For Each Process in oWMI.InstancesOf("Win32_Process")
IF UCASE(Process.Name) = "EXCEL.EXE" THEN
XLCount = XLCount + 1
End If
Next

MSGBOX "EXCEL INSTANCES OPEN: " & XLCount

Set oWMI = nothing

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default find count of multiple excel instances

Another way -

Private Declare Function FindWindowEx Lib "user32" _
Alias "FindWindowExA" _
(ByVal hWnd1 As Long, _
ByVal hWnd2 As Long, _
ByVal lpsz1 As String, _
ByVal lpsz2 As String) As Long

Function XLcount() As Long
Dim hwnd As Long, n As Long
Do
hwnd = FindWindowEx(0&, hwnd, "XLMAIN", vbNullString)
n = n + 1
Loop Until hwnd = 0
XLcount = n - 1
End Function

Sub test()
MsgBox XLcount
End Sub

Regards,
Peter T

"Nayan" wrote in message
...
Hello ,

If anyone knows how to get count of all the instances of excel that are

open
at a time on the machine?

using getobject will reference to the instance of the excel application

that
was opened first but it will not say how many instances are already open

at
that point of time.

I need this value in a start up of an xla file which runs on loading of
excel (2003)
If more then one instance are open then I want to exit from furthur

loading
of xla .

Thanks,

Nayan



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 39
Default find count of multiple excel instances

Jennifer,

This is working great.

Thanks a lot,

Nayan


"Jennifer" wrote:

On Jun 11, 1:04 pm, Nayan wrote:
Hello ,

If anyone knows how to get count of all the instances of excel that are open
at a time on the machine?

using getobject will reference to the instance of the excel application that
was opened first but it will not say how many instances are already open at
that point of time.

I need this value in a start up of an xla file which runs on loading of
excel (2003)
If more then one instance are open then I want to exit from furthur loading
of xla .

Thanks,

Nayan


Here's a VB Script you can use:

Dim XLCount
Dim oWMI

Set oWMI = GetObject("winmgmts:")
XLCount = 0

For Each Process in oWMI.InstancesOf("Win32_Process")
IF UCASE(Process.Name) = "EXCEL.EXE" THEN
XLCount = XLCount + 1
End If
Next

MSGBOX "EXCEL INSTANCES OPEN: " & XLCount

Set oWMI = nothing


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 39
Default find count of multiple excel instances

Peter,

Its working perfect.

Its always good to know more then one method.

Thanks ,

Nayan

"Peter T" wrote:

Another way -

Private Declare Function FindWindowEx Lib "user32" _
Alias "FindWindowExA" _
(ByVal hWnd1 As Long, _
ByVal hWnd2 As Long, _
ByVal lpsz1 As String, _
ByVal lpsz2 As String) As Long

Function XLcount() As Long
Dim hwnd As Long, n As Long
Do
hwnd = FindWindowEx(0&, hwnd, "XLMAIN", vbNullString)
n = n + 1
Loop Until hwnd = 0
XLcount = n - 1
End Function

Sub test()
MsgBox XLcount
End Sub

Regards,
Peter T

"Nayan" wrote in message
...
Hello ,

If anyone knows how to get count of all the instances of excel that are

open
at a time on the machine?

using getobject will reference to the instance of the excel application

that
was opened first but it will not say how many instances are already open

at
that point of time.

I need this value in a start up of an xla file which runs on loading of
excel (2003)
If more then one instance are open then I want to exit from furthur

loading
of xla .

Thanks,

Nayan




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Count Multiple Instances of Text in a Cell dave roth Excel Discussion (Misc queries) 0 January 7th 08 06:48 PM
Count Multiple Instances of Text in a Cell CLR Excel Discussion (Misc queries) 0 January 4th 08 07:56 PM
Count Multiple Instances of Text in a Cell Dave Peterson Excel Discussion (Misc queries) 0 January 4th 08 07:53 PM
Count Multiple Instances of Text in a Cell T. Valko Excel Discussion (Misc queries) 0 January 4th 08 07:50 PM
A counting formula that won't count multiple instances of same val Watercolor artist Excel Worksheet Functions 5 June 14th 05 03:19 PM


All times are GMT +1. The time now is 11:47 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"