Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Given the following path: s = Excel.ActiveWorkbook.Path how can I find the parent folder 3 levels up? Eg if s = p:\paydata\hrimp\library\monthlystats\2005\12\Chie fExec i want to be able to return p:\paydata\hrimp\library\monthlystats I could do it by searching for the \ characters from the end of the string, but it is there any easier way to do this? Nirmal Singh |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
An easy way would be to use the FileSystemObject in the Scripting
library. In VBA, go to the Tools menu, choose References, and put a check next to "Microsoft Scripting Runtime". Then, use code like Dim FSO As Scripting.FileSystemObject Dim Fldr As Scripting.Folder Set FSO = New Scripting.FileSystemObject Set Fldr = FSO.GetFolder(ActiveWorkbook.Path) Set Fldr = Fldr.ParentFolder.ParentFolder Debug.Print Fldr.Path -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Nirmal Singh" wrote in message ... Given the following path: s = Excel.ActiveWorkbook.Path how can I find the parent folder 3 levels up? Eg if s = p:\paydata\hrimp\library\monthlystats\2005\12\Chie fExec i want to be able to return p:\paydata\hrimp\library\monthlystats I could do it by searching for the \ characters from the end of the string, but it is there any easier way to do this? Nirmal Singh |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Try using GetParentFolderName.
As in the following function: Function GetParentFoder3Up(ByVal s As String) As String Dim fs As Variant Set fs = CreateObject("Scripting.FileSystemObject") s = fs.GetParentfoldername(s) s = fs.GetParentfoldername(s) GetParentFoder3Up = fs.GetParentfoldername(s) Set fs = Nothing End Function HTHs. "Nirmal Singh" wrote: Given the following path: s = Excel.ActiveWorkbook.Path how can I find the parent folder 3 levels up? Eg if s = p:\paydata\hrimp\library\monthlystats\2005\12\Chie fExec i want to be able to return p:\paydata\hrimp\library\monthlystats I could do it by searching for the \ characters from the end of the string, but it is there any easier way to do this? Nirmal Singh |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Wed, 14 Dec 2005 13:16:23 -0600, "Chip Pearson"
wrote: An easy way would be to use the FileSystemObject in the Scripting library. In VBA, go to the Tools menu, choose References, and put a check next to "Microsoft Scripting Runtime". Then, use code like Thanks Chip, that is exactly what I needed. Nirmal Singh |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Smart Application.Path | Excel Programming | |||
How do I set a default path when using Application.GetOpenFilename | Excel Programming | |||
set path for Application.Run | Excel Programming | |||
Application.Path in Excel 2k and 2002 | Excel Programming | |||
Application.Path | Excel Programming |