Workbooks.Open Method in VBA

Filename is relative to the current Excel directory (which is different from the directory in which an opened document is).

You change the current directory by using ChDir "x:\new\path".

But what you actually want to do is:

Workbooks.Open Filename:=EnsureSlash(ThisWorkbook.Path) & "myTest.xls", ReadOnly:=True

, where EnsureSlash is your custom function that appends a backslash (\) to the end of the string, if it’s not already there (because ThisWorkbook.Path ends with a slash when the path is the root directory, and doesn’t otherwise).

Leave a Comment