Code to handle files that are already open

paulyf

New Member
Joined
Mar 27, 2002
Messages
34
Hi all,

Does anybody know the syntax for an IF STATEMENT to check if an Excel workbook is already open?

I have a form that opens 5 workbooks before performing various tasks. I want to avoid the message "xyz is already open. Re-opening will cause any changes you made to be discarded. Do you want to reopen xyz?".

Any Thoughts?

Many Thanks.

Cheers - Paul
 

Excel Facts

Which came first: VisiCalc or Lotus 1-2-3?
Dan Bricklin and Bob Frankston debuted VisiCalc in 1979 as a Visible Calculator. Lotus 1-2-3 debuted in the early 1980's, from Mitch Kapor.
Try this:

Sub OpenFile()
wb = "C:My Documentsxyz.xls"
For Each wbk In Workbooks
If wbk.FullName = wb Then
Windows(wbk.Name).Visible = True
wbk.Activate
GoTo endsub
End If
Next wbk
Workbooks.Open Filename:=wb
endsub:
End Sub

This will unhide and activate the file if it's open or open it if it's not.
 
Upvote 0

Forum statistics

Threads
1,214,405
Messages
6,119,315
Members
448,886
Latest member
GBCTeacher

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top