View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Jacob Skaria Jacob Skaria is offline
external usenet poster
 
Posts: 8,520
Default modify macro to execute based on current path

It would be worth to take a look at the below link on lifetime & scope of
declared variables.

http://www.ozgrid.com/VBA/variable-scope-lifetime.htm

If this post helps click Yes
---------------
Jacob Skaria


"Jacob Skaria" wrote:

Declare myPath outside the procedure as a public variable and

Public myPath As String

Sub ProcessAllFiles()
MyPath = Thisworkbook.Path & "\Groups\"

'your code
End Sub


If this post helps click Yes
---------------
Jacob Skaria


"intoit" wrote:

I've been using the macro below, which works a great. However, I would like
to modify the macro such that the directory path does not have to be
specified. That is, instead, the macro would identify the path of the
orginally opened workbook (from which the macro is executed) and then look
within that path for the folder named 'Groups', and then execture the called
macro on all of the workbooks within the Groups folder.

I thought it would be as simple as adding:

Dim MyPath As String
MyPath = Application.ThisWorkbook.path

and

Const path = MyPath & ("Groups") & "\"

...but that didn't work (i.e., debugger says the path can not be found. Any
advice greatly appreciated.


Sub ProcessAllFiles()

Dim sFile$

Const path = "C:\Groups\"

sFile = Dir(path & "*.xls")
Do While sFile < ""
'the new workbook will become active
Workbooks.Open (path & sFile)
'run your macro here
Call gema_fit_calculations_groups
'however make sure that the new workbook
'remains active throughout the macro
'Macro1
ActiveWorkbook.Close savechanges:=True
sFile = Dir
Loop

End Sub