Opening a workbook if not opened, going to it if already opened

N

neotokyo

Anyone know how to do this function?

Basically, if a workbook is not opened yet, then open it.
If its already opened, then go to that window.

I got this from the web, but if the workbook is already opened, i
gives me an error :
Function WorkbookOpen(WorkBookName As String) As Boolean
'Returns TRUE if the workbook is open
Dim myxl As Excel.Application

On Error Resume Next
Set myxl = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Err.Clear
WorkbookOpen = False
Else
WorkbookOpen = True
End If
Set myxl = Nothing

End Function


How I call the function :
Dim strSourceFilename As String
strSourceFilename = Range("A1").Text
If Not WorkbookOpen(strSourceFilename) = False Then
Application.Workbooks.Open FileName:=strSourceFilename
End If


Thanks for any help
 
T

Tom Ogilvy

Dim wkbk as Workbook
On error resume next
set wkbk = Workbooks("ABC.xls")
On error goto 0
if wkbk is nothing then
set wkbk = Workbooks.Open("C:\Myfiles\ABC.xls")
End if
wkbk.Activate
 

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

Top