View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
RB Smissaert RB Smissaert is offline
external usenet poster
 
Posts: 2,452
Default Change current directory to the directory that the workbook loads from!

There are some advantages in using the API to change the current directory:

Option Explicit
Private Declare Function SetCurrentDirectoryA _
Lib "kernel32" (ByVal lpPathName As String) As
Long

Function ChDirAPI(strFolder As String) As Long
'will return 1 on success and 0 on failure
'will work with a UNC path as well
'-----------------------------------------
ChDirAPI = SetCurrentDirectoryA(strFolder)
End Function


RBS


"alondon" wrote in message
...
Folks,

I need to accomplish a very simple thing. When I load a workbook from a
directory, I need to know the directory that the workbook was loaded from
and change the current directory to that directory. Most of the time the
load directory turns out to be the current directory, but NOT always. My
app will fail unless it knows where its related files are located.

I do not want to force the user to load the workbooks in any particular
directory, any directory should be OK as long as all the workbooks,
documents and PowerPoint files in the app are on that same directory.

My solution is convoluted and ridicules:

Private Sub Workbook_Open()
ChDir (Left(ActiveWorkbook.FullName, Len(ActiveWorkbook.FullName) -
(Len(Dir(ActiveWorkbook.FullName)))))
End Sub

I am embarrassed that I cant seem to find a simple solution to this common
problem - e.g.Activeworkbook.WhereAmI. There must be a better way to
accomplish this than having to manipulate the ActiveWorkbook.FullName
string?

Thanks for your help.

Allan P. London, CPA
San Francisco, CA