ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Excel 2003 - VBA File already opened (https://www.excelbanter.com/excel-programming/421652-excel-2003-vba-file-already-opened.html)

thomas

Excel 2003 - VBA File already opened
 
Hello,

I want to open an Excel file through VBA and i first test if it's already
opened or not. If it's already opened i just reactivate it.

My problem is that sometimes the file is re-opened because it's already
opened but in an other instance of Excel.

How can i check all the instances of Excel?

Thanks



Spreadsheet Solutions[_3_]

Excel 2003 - VBA File already opened
 
This might be one solution.

Function IsFileOpen(FileName As String)
Dim iFilenum As Long
Dim iErr As Long

On Error Resume Next
iFilenum = FreeFile()
Open FileName For Input Lock Read As #iFilenum
Close iFilenum
iErr = Err
On Error Goto 0

Select Case iErr
Case 0: IsFileOpen = False
Case 70: IsFileOpen = True
Case Else: Error iErr
End Select

End Function

Sub test()
If Not IsFileOpen("C:\MyTest\volker2.xls") Then
Workbooks.Open "C:\MyTest\volker2.xls"
End If
End Sub
---

More, or other : http://www.cpearson.com/Excel/ISFILEOPEN.ASPX


--
Regards;
Mark Rosenkrantz
--
Spreadsheet Solutions
Uithoorn
Netherlands - Those who live some 18 feet below sea level
--
E:
W:
www.spreadsheetsolutions.nl
--
"thomas" <nomail wrote in message
...
Hello,

I want to open an Excel file through VBA and i first test if it's already
opened or not. If it's already opened i just reactivate it.

My problem is that sometimes the file is re-opened because it's already
opened but in an other instance of Excel.

How can i check all the instances of Excel?

Thanks




thomas

Re : Excel 2003 - VBA File already opened
 
thanks but does it work whatever the instance of Excel?


"Spreadsheet Solutions" a écrit dans le message de
groupe de discussion : ...
This might be one solution.

Function IsFileOpen(FileName As String)
Dim iFilenum As Long
Dim iErr As Long

On Error Resume Next
iFilenum = FreeFile()
Open FileName For Input Lock Read As #iFilenum
Close iFilenum
iErr = Err
On Error Goto 0

Select Case iErr
Case 0: IsFileOpen = False
Case 70: IsFileOpen = True
Case Else: Error iErr
End Select

End Function

Sub test()
If Not IsFileOpen("C:\MyTest\volker2.xls") Then
Workbooks.Open "C:\MyTest\volker2.xls"
End If
End Sub
---

More, or other : http://www.cpearson.com/Excel/ISFILEOPEN.ASPX


--
Regards;
Mark Rosenkrantz
--
Spreadsheet Solutions
Uithoorn
Netherlands - Those who live some 18 feet below sea level
--
E:
W:
www.spreadsheetsolutions.nl
--
"thomas" <nomail wrote in message
...
Hello,

I want to open an Excel file through VBA and i first test if it's already
opened or not. If it's already opened i just reactivate it.

My problem is that sometimes the file is re-opened because it's already
opened but in an other instance of Excel.

How can i check all the instances of Excel?

Thanks




Spreadsheet Solutions[_3_]

Excel 2003 - VBA File already opened
 
Thomas;

I think I read it wrong.
Do you mean that you (or some one else) might have two Excel windows open at
the same time ?

Regards;
Mark Rosenkrantz
--
Spreadsheet Solutions
Uithoorn
Netherlands - Those who live some 18 feet below sea level

"thomas" <nomail wrote in message
...
thanks but does it work whatever the instance of Excel?


"Spreadsheet Solutions" a écrit dans le message de
groupe de discussion : ...
This might be one solution.

Function IsFileOpen(FileName As String)
Dim iFilenum As Long
Dim iErr As Long

On Error Resume Next
iFilenum = FreeFile()
Open FileName For Input Lock Read As #iFilenum
Close iFilenum
iErr = Err
On Error Goto 0

Select Case iErr
Case 0: IsFileOpen = False
Case 70: IsFileOpen = True
Case Else: Error iErr
End Select

End Function

Sub test()
If Not IsFileOpen("C:\MyTest\volker2.xls") Then
Workbooks.Open "C:\MyTest\volker2.xls"
End If
End Sub
---

More, or other : http://www.cpearson.com/Excel/ISFILEOPEN.ASPX


--
Regards;
Mark Rosenkrantz
--
Spreadsheet Solutions
Uithoorn
Netherlands - Those who live some 18 feet below sea level
--
E:
W:
www.spreadsheetsolutions.nl
--
"thomas" <nomail wrote in message
...
Hello,

I want to open an Excel file through VBA and i first test if it's already
opened or not. If it's already opened i just reactivate it.

My problem is that sometimes the file is re-opened because it's already
opened but in an other instance of Excel.

How can i check all the instances of Excel?

Thanks





thomas

Re : Excel 2003 - VBA File already opened
 
Yes this is what i meant.

I noticed that sometimes the file was not noticed as opened and i guess this
is because it was opened in an other instance of Excel.
If opened in the same instance, no problem. It was noticed as opened


"Spreadsheet Solutions" a écrit dans le message de
groupe de discussion : ...
Thomas;

I think I read it wrong.
Do you mean that you (or some one else) might have two Excel windows open at
the same time ?

Regards;
Mark Rosenkrantz
--
Spreadsheet Solutions
Uithoorn
Netherlands - Those who live some 18 feet below sea level

"thomas" <nomail wrote in message
...
thanks but does it work whatever the instance of Excel?


"Spreadsheet Solutions" a écrit dans le message de
groupe de discussion : ...
This might be one solution.

Function IsFileOpen(FileName As String)
Dim iFilenum As Long
Dim iErr As Long

On Error Resume Next
iFilenum = FreeFile()
Open FileName For Input Lock Read As #iFilenum
Close iFilenum
iErr = Err
On Error Goto 0

Select Case iErr
Case 0: IsFileOpen = False
Case 70: IsFileOpen = True
Case Else: Error iErr
End Select

End Function

Sub test()
If Not IsFileOpen("C:\MyTest\volker2.xls") Then
Workbooks.Open "C:\MyTest\volker2.xls"
End If
End Sub
---

More, or other : http://www.cpearson.com/Excel/ISFILEOPEN.ASPX


--
Regards;
Mark Rosenkrantz
--
Spreadsheet Solutions
Uithoorn
Netherlands - Those who live some 18 feet below sea level
--
E:
W:
www.spreadsheetsolutions.nl
--
"thomas" <nomail wrote in message
...
Hello,

I want to open an Excel file through VBA and i first test if it's already
opened or not. If it's already opened i just reactivate it.

My problem is that sometimes the file is re-opened because it's already
opened but in an other instance of Excel.

How can i check all the instances of Excel?

Thanks





Spreadsheet Solutions[_3_]

Excel 2003 - VBA File already opened
 
Well;

Then I don't have any idea.
I never ran into such problem and quit frankly at the moment I do not have
an answer...

Sorry...

--
Mark Rosenkrantz

"thomas" <nomail wrote in message
...
Yes this is what i meant.

I noticed that sometimes the file was not noticed as opened and i guess
this
is because it was opened in an other instance of Excel.
If opened in the same instance, no problem. It was noticed as opened


"Spreadsheet Solutions" a écrit dans le message de
groupe de discussion : ...
Thomas;

I think I read it wrong.
Do you mean that you (or some one else) might have two Excel windows open
at
the same time ?

Regards;
Mark Rosenkrantz
--
Spreadsheet Solutions
Uithoorn
Netherlands - Those who live some 18 feet below sea level

"thomas" <nomail wrote in message
...
thanks but does it work whatever the instance of Excel?


"Spreadsheet Solutions" a écrit dans le message de
groupe de discussion : ...
This might be one solution.

Function IsFileOpen(FileName As String)
Dim iFilenum As Long
Dim iErr As Long

On Error Resume Next
iFilenum = FreeFile()
Open FileName For Input Lock Read As #iFilenum
Close iFilenum
iErr = Err
On Error Goto 0

Select Case iErr
Case 0: IsFileOpen = False
Case 70: IsFileOpen = True
Case Else: Error iErr
End Select

End Function

Sub test()
If Not IsFileOpen("C:\MyTest\volker2.xls") Then
Workbooks.Open "C:\MyTest\volker2.xls"
End If
End Sub
---

More, or other : http://www.cpearson.com/Excel/ISFILEOPEN.ASPX


--
Regards;
Mark Rosenkrantz
--
Spreadsheet Solutions
Uithoorn
Netherlands - Those who live some 18 feet below sea level
--
E:
W:
www.spreadsheetsolutions.nl
--
"thomas" <nomail wrote in message
...
Hello,

I want to open an Excel file through VBA and i first test if it's
already
opened or not. If it's already opened i just reactivate it.

My problem is that sometimes the file is re-opened because it's already
opened but in an other instance of Excel.

How can i check all the instances of Excel?

Thanks






Jon Peltier

Excel 2003 - VBA File already opened
 
I don't have the specific code on hand to do this, but I have done it in the
past.

Essentially you have to use Windows APIs to check out each main window on
your system, see which are running Excel, and see which child windows of the
Excel windows represent the particular workbook.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services, Inc.
http://PeltierTech.com/WordPress/
_______


"thomas" <nomail wrote in message
...
Hello,

I want to open an Excel file through VBA and i first test if it's already
opened or not. If it's already opened i just reactivate it.

My problem is that sometimes the file is re-opened because it's already
opened but in an other instance of Excel.

How can i check all the instances of Excel?

Thanks






All times are GMT +1. The time now is 09:56 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com