Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 390
Default check filename

I have a macro that is opening and closing several workbooks for my Month
End reports. One of the workbooks treats and places data slightly differently
than all the other ones, and needs different formatting instructions for that
data.
I want to check if that specific filename is open. Is there a specific
command for that???

(I could create a flag that is on or off when the file is opened or closed,
and check that flag for true/false, but I wanted to know if there is a
command to do this)


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 7,247
Default check filename

Try

Function IsFileOpen(Filename As String) As Boolean
Dim WB As Workbook
For Each WB In Workbooks
If WB.Name = Filename Or WB.FullName = Filename Then
IsFileOpen = True
Exit For
End If
Next WB
End Function


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com






"Bill" wrote in message
...
I have a macro that is opening and closing several workbooks for
my Month
End reports. One of the workbooks treats and places data
slightly differently
than all the other ones, and needs different formatting
instructions for that
data.
I want to check if that specific filename is open. Is there a
specific
command for that???

(I could create a flag that is on or off when the file is
opened or closed,
and check that flag for true/false, but I wanted to know if
there is a
command to do this)




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default check filename

Hi Bill

You can use this function in a normal module

Function bIsBookOpen(ByRef szBookName As String) As Boolean
' Rob Bovey
On Error Resume Next
bIsBookOpen = Not (Application.Workbooks(szBookName) Is Nothing)
End Function

And use it like this in your code
If bIsBookOpen("test.xls") Then


--
Regards Ron de Bruin
http://www.rondebruin.nl


"Bill" wrote in message ...
I have a macro that is opening and closing several workbooks for my Month
End reports. One of the workbooks treats and places data slightly differently
than all the other ones, and needs different formatting instructions for that
data.
I want to check if that specific filename is open. Is there a specific
command for that???

(I could create a flag that is on or off when the file is opened or closed,
and check that flag for true/false, but I wanted to know if there is a
command to do this)




  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,939
Default check filename

Here is a simple function you can use. It is adapted from some code that I
got from Chip Pearson.

Public Function BookOpen(SName As String) As Boolean
On Error Resume Next
BookOpen = CBool(Len(Workbooks(SName).Name))
End Function

You would use it like this...

msgbox worbookopen("MyBook.xls")
--
HTH...

Jim Thomlinson


"Bill" wrote:

I have a macro that is opening and closing several workbooks for my Month
End reports. One of the workbooks treats and places data slightly differently
than all the other ones, and needs different formatting instructions for that
data.
I want to check if that specific filename is open. Is there a specific
command for that???

(I could create a flag that is on or off when the file is opened or closed,
and check that flag for true/false, but I wanted to know if there is a
command to do this)


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,939
Default check filename

Sorry you would use it like...

msgbox bookopen("MyBook.xls")
--
HTH...

Jim Thomlinson


"Jim Thomlinson" wrote:

Here is a simple function you can use. It is adapted from some code that I
got from Chip Pearson.

Public Function BookOpen(SName As String) As Boolean
On Error Resume Next
BookOpen = CBool(Len(Workbooks(SName).Name))
End Function

You would use it like this...

msgbox worbookopen("MyBook.xls")
--
HTH...

Jim Thomlinson


"Bill" wrote:

I have a macro that is opening and closing several workbooks for my Month
End reports. One of the workbooks treats and places data slightly differently
than all the other ones, and needs different formatting instructions for that
data.
I want to check if that specific filename is open. Is there a specific
command for that???

(I could create a flag that is on or off when the file is opened or closed,
and check that flag for true/false, but I wanted to know if there is a
command to do this)




  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 400
Default check filename

The suggested approach/solution(s) will work only if the workbook is open in
the CURRENT Excel session; they will fail if the file is open in another
session of Excel, such as an automation session.

This will return TRUE is the fil is open in ANY excel session.

Function WBOpen(ByVal Filename As String) As Boolean
On Error Resume Next
Set wb = GetObject(Filename)
If Not IsEmpty(wb) Then
WBOpen = True
Set wb = Nothing
End If
End Function



  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 390
Default check filename

Thank you all. It now works.

"Bill" wrote:

I have a macro that is opening and closing several workbooks for my Month
End reports. One of the workbooks treats and places data slightly differently
than all the other ones, and needs different formatting instructions for that
data.
I want to check if that specific filename is open. Is there a specific
command for that???

(I could create a flag that is on or off when the file is opened or closed,
and check that flag for true/false, but I wanted to know if there is a
command to do this)


  #8   Report Post  
Posted to microsoft.public.excel.programming
GS GS is offline
external usenet poster
 
Posts: 364
Default check filename

<FWIW

While the suggested approache(s)/solution(s) do address the OP's situation
explicitly (ie. his current session), your suggestion doesn't work because
it returns TRUE if the file exists, whether it's open or not, or in use or
not.

You might also want to specify that this test requires that wb be Variant
type. Even though it appears that it is (implicit in your code), someone
reading this may spent a lot of frustrating time trying to figure that out
using Option Explicit.


Regards,
Garry
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
Increase size of a Forms Check Box (click on to enter check mark) 718Satoshi Excel Discussion (Misc queries) 0 August 17th 07 01:52 AM
Cell("filename") doesn't update to new filename when do save as. Louis Excel Worksheet Functions 2 March 22nd 07 07:27 PM
set filename to <filename-date on open bob engler Excel Worksheet Functions 2 July 13th 06 05:11 AM
Check if filename exists. Darrin Henshaw Excel Programming 6 May 5th 05 11:59 PM
Saving filename same as import filename Matt Excel Programming 4 February 24th 04 03:01 PM


All times are GMT +1. The time now is 04:13 PM.

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

About Us

"It's about Microsoft Excel"