Vba - Checking if running

A

ajliaks

Hi all,

How can I check if excel application "Test.xls" is already runnig.
I need to run a macro which needs this book open, but it may be runnin
before macro activates itself.

must be something like:

aplication.running ("Test.xls") = true ...

Thanks,
Aldo
 
T

Tom Ogilvy

If you want to see if the file is open:
http://support.microsoft.com?kbid=138621
XL: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=291295
XL2002: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=213383
XL2000: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=184982
WD97: VBA Function to Check If File or Document Is Open


if you want to see if it is open in the same instance of excel

Dim bk as Workbook
On Error Resume Next
set bk = Workbooks("Test.xls")
On Error goto 0
if not bk is nothing then
' Test.xls is open

If you mean something else, then perhaps you could provide a clearer
explanation.
 
M

Myrna Larson

Not sure what you mean by "running"? Workbooks don't "run", but macros do.
Does this workbook contain a macro that runs for a long time? If so, I don't
think any other code can run until it finishes.

OTOH, did you mean you want to know if the workbook is open? If so,

Dim sTemp As String
On Error Resume Next
sTemp = Workbooks("Test.xls").Name
If Err.Number <> 0 Then
'code here to open the workbook
end if
On Error Goto 0

If you are averse to error trapping, you could set up a loop to go through all
open workbooks, checking their names:

Function TestIsOpen() As Boolean
TestIsOpen = False
For w = 1 To Workbooks.Count
If Workbooks(W).Name = "Test.xls" Then
TestIsOpen = True
Exit For
End If
Next w
End Function
 
Top