get the current filename as a variable

G

Guest

The myFileName line does not compile. What I want to do here is save the
current filename with the date appended. I am trying to put the current
filename into the Sub
tnx,
saveIndesign()
'Appends date to filename so as to not write over an existing file

Const fPath As String = "Mac OS X:Users:jrough:Documents"
Dim fName As String
Dim myFileName As String
myFileName = ActiveWorkbook.Filename
fName = fPath & myFileName & Time()
ActiveWorkbook.SaveAs Filename:=fName
End Sub
 
M

moon

ActiveWorkbook.Name will give you the file name.
ActiveWorkbook.FullName will give you the file name and the full path.

ActiveWorkbook.Filename is not available.
 
B

Bob Phillips

myFileName = ActiveWorkbook.Fullname

if you want the path

myFileName = ActiveWorkbook.Name

without

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
M

moon

Same here.

;-)

Bob Phillips said:
myFileName = ActiveWorkbook.Fullname

if you want the path

myFileName = ActiveWorkbook.Name

without

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
M

Mike

Janis,

there is no .filename property - you want to use the .fullname (to get the
path, if one exists, ie. it's not a new workbook) or .name (just the name)

HTH,
Mike
 
M

Mike Fogleman

Try this: I added a : after Documents in your Const. I am not familiar with
MAC file naming, but I thought there should be a separator for the
folder/file. In any case, myFileName should get the desired results there.
You just need to make sure that fName puts the path and file name together
correctly for MAC.

Sub SaveMe()
Dim fName As String
Dim myFileName As String
Const fPath As String = "Mac OS X:Users:jrough:Documents:"

myFileName = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & " " &
Date & ".xls"
fName = fPath & myFileName
ActiveWorkbook.SaveAs Filename:=fName

End Sub

Mike F
 
M

Mike Fogleman

Sorry, word wrap cut my long line

Sub SaveMe()
Dim fName As String
Dim myFileName As String
Const fPath As String = "Mac OS X:Users:jrough:Documents:"

myFileName = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) _
& " " & Date & ".xls"
fName = fPath & myFileName
ActiveWorkbook.SaveAs Filename:=fName

End Sub

Mike F
 
B

Bob Phillips

even the timestamp <g>

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
G

Guest

It is really tricky. The .xls extension saves twice and I can't get it to
print the time and the date but it now compiles. Thanks,
 
M

Mike Fogleman

Janis, I consulted with a MAC user and determined the following code will do
as you asked. It adds the time and removes the double.xls at the end. MAC
doesn't care about the /'s in the date, as Windows does, so I left those
alone. The colons in TIME had to go with either OS, so it is re-formatted
with dot separators. Finally MAC appends the file extension for you, so I
removed it from the code and let MAC do it's thing when the file is saved.

Sub SaveMe()
Dim fName As String
Dim myFileName As String
Const fPath As String = "Mac OS X:Users:jrough:Documents:"

myFileName = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) _
& " " & Date & " " & Format(Time, "hh.mm.ss")
fName = fPath & myFileName
ActiveWorkbook.SaveAs Filename:=fName
End Sub

Mike F
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top