View Single Post
  #9   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Help to Indentify a drive letter

varr = Split(Thisworkbook.path)
for i = lbound(varr) to ubound(varr)
debug.print varr(i)
Next

if you wanted to save the file two directories above its current directory

? thisworkbook.Path
D:\folder1\folder2\folder3\folder4

ActiveWorkbook.SaveAs FileName:=Thisworkbook.Path & _
"\..\..\" & ThisWorkBook.name

? thisworkbook.Path
D:\folder1\folder2

two dots/periods means the directory above.

--
Regards,
Tom Ogilvy

"Grandad" wrote in message
...
Sorry Tom

I don't know how to use chdir..

I have a line something like:

Thisworkbook.Path is in folder4

ActiveWorkbook.SaveA FileName:=Thisworkbook.Path &
"\folder5\folder6\folder7" &ThisWorkBook.name

How do I go from ThisWorkBook.Path to \folder3 or folder2 etc?

Regards

Mick


"Tom Ogilvy" wrote in message
...
chdir ..

--
Regards,
Tom Ogilvy

"Grandad" wrote in message
...
Thanks Tom I'll try that,

I know how to move forward in a folder structure, but how do to go

back?

Thanks again Mick

"Tom Ogilvy" wrote in message
...
Dim sDrive as String
sDrive = left(curdir,1)
on error resume next
mkdir sDrive & ":\MyMacroFolder"
On error goto 0
Application.displayalerts = False
ThisWorkbook.SaveAs sDrive & ":\MyMacroFolder\" & thisworkbook.Name
Application.DisplayAlerts = True

--
Regards,
Tom Ogilvy



"Grandad" wrote in message
...
Tom

I'm sorry if I've not been clear.

I guess what I need is to be able to identify the default drive

letter
for
each PC the macro is used on and to have a folder path to save a

file
that
works on all PCs.

I hope that's a bit better tan my first attempt?

Mick


"Tom Ogilvy" wrote in message
...
If you have a path string:

Sub findDrive()
Dim fs As Object, f As Object
Dim sPath As String, drv As Object
Dim sPath1 As String
sPath = "Data\CSVDaily"
Set fs = CreateObject("Scripting.FileSystemObject")
For Each drv In fs.Drives
sPath1 = drv.DriveLetter & ":\" & sPath
On Error Resume Next
Set f = Nothing
Set f = fs.GetFolder(sPath1)
On Error GoTo 0
If Not f Is Nothing Then
MsgBox "found in drive " & drv.DriveLetter
End If
Next
End Sub

--
Regards,
Tom Ogilvy

"Tom Ogilvy" wrote in message
...
What information do you have to start with? How would we know

we
have
the
right drive?

Do you want to search all drives for a particular folder?

--
Regards,
Tom Ogilvy


"Grandad" wrote in message
...
Can anyone help with the code to first identify a drive

letter
on
PC
which
may also be different to the one on the PC that the macro

was
built
on.
I
need to save a file to a specific folder path and if the

drive
letter
is
different how to specify a folder path.

I hope that makes sense?

--
Kind Regards

Mick