ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Prompt user to save their file (https://www.excelbanter.com/excel-programming/278036-prompt-user-save-their-file.html)

Sharon[_5_]

Prompt user to save their file
 
I am trying to prompt the user to save their file.

Application.GetSaveAsFilename looks like the right window
that pops up but the file doesn't actually save.

I tried this: ActiveWorkbook.SaveAs(Filename:=fName)
thinking I could set up a variable but maybe I have the
syntax wrong because it is not working.

Any ideas?
Thanks,
Sharon

Jake Marx[_2_]

Prompt user to save their file
 
Hi Sharon,

You're correct - GetSaveAsFilename will only return the filename, if any,
the user selected; it won't actually save the file. So you have to do that:

Dim vPath As Variant

vPath = Application.GetSaveAsFilename(FileFilter:= _
"Microsoft Excel Files (*.xls), *.xls")

If vPath < False Then
ActiveWorkbook.SaveAs vPath
End If

--
Regards,

Jake Marx
MS MVP - Excel

Sharon wrote:
I am trying to prompt the user to save their file.

Application.GetSaveAsFilename looks like the right window
that pops up but the file doesn't actually save.

I tried this: ActiveWorkbook.SaveAs(Filename:=fName)
thinking I could set up a variable but maybe I have the
syntax wrong because it is not working.

Any ideas?
Thanks,
Sharon



Sharon[_5_]

Prompt user to save their file
 
I see then, I don't need to use "Filename:=" if I'm using
a variable. Thanks so much!
One more question if you don't mind.
It's about "Dim vPath As Variant"
I'm still learning about variables - so I wonder is it
better to use Variant than String?
Thanks for the info -
Have a great weekend.
Sharon

-----Original Message-----
Hi Sharon,

You're correct - GetSaveAsFilename will only return the

filename, if any,
the user selected; it won't actually save the file. So

you have to do that:

Dim vPath As Variant

vPath = Application.GetSaveAsFilename(FileFilter:= _
"Microsoft Excel Files (*.xls), *.xls")

If vPath < False Then
ActiveWorkbook.SaveAs vPath
End If

--
Regards,

Jake Marx
MS MVP - Excel

Sharon wrote:
I am trying to prompt the user to save their file.

Application.GetSaveAsFilename looks like the right

window
that pops up but the file doesn't actually save.

I tried this: ActiveWorkbook.SaveAs(Filename:=fName)
thinking I could set up a variable but maybe I have the
syntax wrong because it is not working.

Any ideas?
Thanks,
Sharon


.


Dave Peterson[_3_]

Prompt user to save their file
 
The filename:= is optional--as long as you put the filename as the first
parameter.

Some people like it, some don't always use it. I think it makes it easier
reading code.

But Jake dimmed vPath as variant so that he could use it as a string (if the
user selected a file) or use it as a boolean (when he compared it to False).

Sharon wrote:

I see then, I don't need to use "Filename:=" if I'm using
a variable. Thanks so much!
One more question if you don't mind.
It's about "Dim vPath As Variant"
I'm still learning about variables - so I wonder is it
better to use Variant than String?
Thanks for the info -
Have a great weekend.
Sharon

-----Original Message-----
Hi Sharon,

You're correct - GetSaveAsFilename will only return the

filename, if any,
the user selected; it won't actually save the file. So

you have to do that:

Dim vPath As Variant

vPath = Application.GetSaveAsFilename(FileFilter:= _
"Microsoft Excel Files (*.xls), *.xls")

If vPath < False Then
ActiveWorkbook.SaveAs vPath
End If

--
Regards,

Jake Marx
MS MVP - Excel

Sharon wrote:
I am trying to prompt the user to save their file.

Application.GetSaveAsFilename looks like the right

window
that pops up but the file doesn't actually save.

I tried this: ActiveWorkbook.SaveAs(Filename:=fName)
thinking I could set up a variable but maybe I have the
syntax wrong because it is not working.

Any ideas?
Thanks,
Sharon


.


--

Dave Peterson


Sharon[_5_]

Prompt user to save their file
 
Oh I see. Sometimes I am so literal. I didn't try
filename:= variableName. I think it is easier to read
also.

Thanks for that note about using "Variant" so it could be
used as boolean when comparing to False. I didn't realize
that.
Thanks-
Sharon

-----Original Message-----
The filename:= is optional--as long as you put the

filename as the first
parameter.

Some people like it, some don't always use it. I think

it makes it easier
reading code.

But Jake dimmed vPath as variant so that he could use it

as a string (if the
user selected a file) or use it as a boolean (when he

compared it to False).

Sharon wrote:

I see then, I don't need to use "Filename:=" if I'm

using
a variable. Thanks so much!
One more question if you don't mind.
It's about "Dim vPath As Variant"
I'm still learning about variables - so I wonder is it
better to use Variant than String?
Thanks for the info -
Have a great weekend.
Sharon

-----Original Message-----
Hi Sharon,

You're correct - GetSaveAsFilename will only return the

filename, if any,
the user selected; it won't actually save the file. So

you have to do that:

Dim vPath As Variant

vPath = Application.GetSaveAsFilename(FileFilter:=

_
"Microsoft Excel Files (*.xls), *.xls")

If vPath < False Then
ActiveWorkbook.SaveAs vPath
End If

--
Regards,

Jake Marx
MS MVP - Excel

Sharon wrote:
I am trying to prompt the user to save their file.

Application.GetSaveAsFilename looks like the right

window
that pops up but the file doesn't actually save.

I tried this: ActiveWorkbook.SaveAs(Filename:=fName)
thinking I could set up a variable but maybe I have

the
syntax wrong because it is not working.

Any ideas?
Thanks,
Sharon

.


--

Dave Peterson

.



All times are GMT +1. The time now is 10:36 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com