Checking for open file

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I need to check if a file is open - the problem I am having is that it's from
a template - I don't know how to find it. This is what I have tried:

If Windows("Quote System1").Visible = True Then MsgBox "Visible" _
Else MsgBox "Not Visible"

If the window is open, it will give a msgbox saying "Visible", but if it's
not open it gives me an error - Subscript out of range.

I also tried this:

dim wbk as workbook

on error resume next
set wbk = workbooks("Quote System1.xls")
on error goto 0
is wbk is nothing then _
Msgbox "Open the Quote System"

This one gives me the message box whether the file is open or not. I also
tried "Quote System1" (left out the .xls), but that didn't work either.
 
If that second routine gives you the message, then your workbook isn't named:
"Quote System1.xls"

I'd check for extra spaces (or other typos).

And it's better to include that .xls when you do stuff like this.

Is that a 1 (one) or L (ell) at the end of System?
 
Hi Dave,
You may be correct - my template is Quote System.xlt - when I open the
template (opening the window I'm looking for), it's called "Quote System1"
(number 1)... there are no other spaces. Any other suggestions?
 
The second option will not work because the quote has not been saved yet... I
am a little busy so maybe Dave can help you. If I recall off the top of my
head you can traverse through all of the open workbooks and check if the name
matches "Quote System"...
 
Thanks for your help... I finally got this to work:

Sub test()
On Error GoTo Handler
If Windows("Quote System1").Visible = True Then MsgBox "Visible" _
Else: GoTo Handler
GoTo handlers

Handler:
MsgBox "Open the Quote System"
Exit Sub
handlers:
End Sub
 
First, I missed that it was opened from a template. (So the .xls can't be there
until the workbook is saved.)

dim qwkbk as workbook
dim QuoteWkbkIsOpen as boolean

quotewkbkisopen = false
for each qwkbk in application.workbooks
if lcase(qwkbk.name) like "quote system*" then
quotewkbkisopen = true
exit for
end if
next qwkbk

if quotewkbkisopen then
'no warning
else
'warning
end if

(or open it yourself???)

if quotewkbkisopen then
'no warning
else
set qwkbk = workbooks.add(template:="\\yourpathto\quote system.xlt")
'warning
end if

The use qwkbk as a reference for that workbook.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top