ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Using 'SAVE AS' within macro with mutliple files and keeping default savename (https://www.excelbanter.com/excel-programming/286523-using-save-within-macro-mutliple-files-keeping-default-savename.html)

William Prendergast

Using 'SAVE AS' within macro with mutliple files and keeping default savename
 
I've seen this question asked several different ways but not in this
way.
If so please forgive me if this is a duplicate. I know this is a
really easy question, based on some of the stuff that already seen in
this form, but I don't not work with Excel and am just a lowly Unix
Administrator that needs to
convert alot of excel files into html.

I tried recording a macro that takes several already opened
speadsheets (the names change constantly).

s0adcr4p9.1228
s0adcr4p9.1229
s0adcr5p9.1228
s0adcr5p9.1229

and saves them as a separate html file. Basically once they
are open, do a File/Save As Web Page, then a File Close, which goes
to the
next doc and the process repeats the ideal task for a macro.

The macro I created works fine however it is not using the default
savename but instead it wants to use what was used in the macro and
I receive an error that the file already exists.

How can I change the macro to read the name of the file
thats being opened and then save it as that name with a ".htm" on the
end?

I know what I want to do.. I am just not familiar enough with excel
to do it.

Here is the macro as it was generated:

Sub NMON()
'
'
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\sswjp1\My
Documents\NMON\ARCH\s0adcr4p9.1228.htm", _
FileFormat:=xlHtml,
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
End Sub



Somehow I need to replace the s0adcr4p9.1228 with the default save as
name!


Any and all help is appreciated..

Thanks

-Bill

Jake Marx[_3_]

Using 'SAVE AS' within macro with mutliple files and keeping default savename
 
Hi William,

You can use the Name property of the ActiveWorkbook to get what you want:

ActiveWorkbook.SaveAs Filename:="C:\Documents and " _
& "Settings\sswjp1\My Documents\NMON\ARCH\" & _
ActiveWorkbook.Name & ".htm", _
FileFormat:=xlHtml, ReadOnlyRecommended:=False, _
CreateBackup:=False

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


William Prendergast wrote:
I've seen this question asked several different ways but not in this
way.
If so please forgive me if this is a duplicate. I know this is a
really easy question, based on some of the stuff that already seen in
this form, but I don't not work with Excel and am just a lowly Unix
Administrator that needs to
convert alot of excel files into html.

I tried recording a macro that takes several already opened
speadsheets (the names change constantly).

s0adcr4p9.1228
s0adcr4p9.1229
s0adcr5p9.1228
s0adcr5p9.1229

and saves them as a separate html file. Basically once they
are open, do a File/Save As Web Page, then a File Close, which goes
to the
next doc and the process repeats the ideal task for a macro.

The macro I created works fine however it is not using the default
savename but instead it wants to use what was used in the macro and
I receive an error that the file already exists.

How can I change the macro to read the name of the file
thats being opened and then save it as that name with a ".htm" on the
end?

I know what I want to do.. I am just not familiar enough with excel
to do it.

Here is the macro as it was generated:

Sub NMON()
'
'
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\sswjp1\My
Documents\NMON\ARCH\s0adcr4p9.1228.htm", _
FileFormat:=xlHtml,
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
End Sub



Somehow I need to replace the s0adcr4p9.1228 with the default save as
name!


Any and all help is appreciated..

Thanks

-Bill


William Prendergast

Using 'SAVE AS' within macro with mutliple files and keeping default savename
 
Jake,

Thanks for your helpful response.

The only other thing I would need to do is strip out the ".xls"
from the filename and then add the ActiveWorkbook.Close to get it to
close each open doc.

I need the name to be s0adcr5p9.1229_files (file folder)
s0adcr5p9.1229 (html)




"Jake Marx" wrote in message ...
Hi William,

You can use the Name property of the ActiveWorkbook to get what you want:

ActiveWorkbook.SaveAs Filename:="C:\Documents and " _
& "Settings\sswjp1\My Documents\NMON\ARCH\" & _
ActiveWorkbook.Name & ".htm", _
FileFormat:=xlHtml, ReadOnlyRecommended:=False, _
CreateBackup:=False

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


William Prendergast wrote:
I've seen this question asked several different ways but not in this
way.
If so please forgive me if this is a duplicate. I know this is a
really easy question, based on some of the stuff that already seen in
this form, but I don't not work with Excel and am just a lowly Unix
Administrator that needs to
convert alot of excel files into html.

I tried recording a macro that takes several already opened
speadsheets (the names change constantly).

s0adcr4p9.1228
s0adcr4p9.1229
s0adcr5p9.1228
s0adcr5p9.1229

and saves them as a separate html file. Basically once they
are open, do a File/Save As Web Page, then a File Close, which goes
to the
next doc and the process repeats the ideal task for a macro.

The macro I created works fine however it is not using the default
savename but instead it wants to use what was used in the macro and
I receive an error that the file already exists.

How can I change the macro to read the name of the file
thats being opened and then save it as that name with a ".htm" on the
end?

I know what I want to do.. I am just not familiar enough with excel
to do it.

Here is the macro as it was generated:

Sub NMON()
'
'
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\sswjp1\My
Documents\NMON\ARCH\s0adcr4p9.1228.htm", _
FileFormat:=xlHtml,
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
End Sub



Somehow I need to replace the s0adcr4p9.1228 with the default save as
name!


Any and all help is appreciated..

Thanks

-Bill


Jake Marx[_3_]

Using 'SAVE AS' within macro with mutliple files and keeping default savename
 
Hi William,

There are a few ways to strip out the .xls:

Left$(ActiveWorkbook.Name, Len(ActiveWorkbook.Name)-4)

or

Replace$(ActiveWorkbook.Name, ".xls", "")

Is that what you are looking for?

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


William Prendergast wrote:
Jake,

Thanks for your helpful response.

The only other thing I would need to do is strip out the ".xls"
from the filename and then add the ActiveWorkbook.Close to get it to
close each open doc.

I need the name to be s0adcr5p9.1229_files (file folder)
s0adcr5p9.1229 (html)




"Jake Marx" wrote in message
...
Hi William,

You can use the Name property of the ActiveWorkbook to get what you
want:

ActiveWorkbook.SaveAs Filename:="C:\Documents and " _
& "Settings\sswjp1\My Documents\NMON\ARCH\" & _
ActiveWorkbook.Name & ".htm", _
FileFormat:=xlHtml, ReadOnlyRecommended:=False, _
CreateBackup:=False

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


William Prendergast wrote:
I've seen this question asked several different ways but not in this
way.
If so please forgive me if this is a duplicate. I know this is a
really easy question, based on some of the stuff that already seen
in this form, but I don't not work with Excel and am just a lowly
Unix Administrator that needs to
convert alot of excel files into html.

I tried recording a macro that takes several already opened
speadsheets (the names change constantly).

s0adcr4p9.1228
s0adcr4p9.1229
s0adcr5p9.1228
s0adcr5p9.1229

and saves them as a separate html file. Basically once they
are open, do a File/Save As Web Page, then a File Close, which goes
to the
next doc and the process repeats the ideal task for a macro.

The macro I created works fine however it is not using the default
savename but instead it wants to use what was used in the macro
and I receive an error that the file already exists.

How can I change the macro to read the name of the file
thats being opened and then save it as that name with a ".htm" on
the end?

I know what I want to do.. I am just not familiar enough with excel
to do it.

Here is the macro as it was generated:

Sub NMON()
'
'
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\sswjp1\My
Documents\NMON\ARCH\s0adcr4p9.1228.htm", _
FileFormat:=xlHtml,
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
End Sub



Somehow I need to replace the s0adcr4p9.1228 with the default save
as name!


Any and all help is appreciated..

Thanks

-Bill


William Prendergast

Using 'SAVE AS' within macro with mutliple files and keeping default savename
 
Jake

Thanks again.. that worked well...

I just have to fix one last runtime variable with my looping structure
and should be good to go..

Here is what I have thus far.. I've tried the loop several different
ways but I can't get it to leave the loop and terminate.

sheetcount = ActiveWorkbook.Sheets.Count

Do While ActiveWorkbook.Name < ""

For j = 0 To sheetcount - 1 Step 1

filesavename = ActiveWorkbook.Name
filesavename = Replace$(ActiveWorkbook.Name, ".xls", "")

If filesavename < "False" Then
ActiveWorkbook.SaveAs Filename:=filesavename,
FileFormat:=xlHtml, _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
End If

Next

Loop

End Sub


"Jake Marx" wrote in message ...
Hi William,

There are a few ways to strip out the .xls:

Left$(ActiveWorkbook.Name, Len(ActiveWorkbook.Name)-4)

or

Replace$(ActiveWorkbook.Name, ".xls", "")

Is that what you are looking for?

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


William Prendergast wrote:
Jake,

Thanks for your helpful response.

The only other thing I would need to do is strip out the ".xls"
from the filename and then add the ActiveWorkbook.Close to get it to
close each open doc.

I need the name to be s0adcr5p9.1229_files (file folder)
s0adcr5p9.1229 (html)




"Jake Marx" wrote in message
...
Hi William,

You can use the Name property of the ActiveWorkbook to get what you
want:

ActiveWorkbook.SaveAs Filename:="C:\Documents and " _
& "Settings\sswjp1\My Documents\NMON\ARCH\" & _
ActiveWorkbook.Name & ".htm", _
FileFormat:=xlHtml, ReadOnlyRecommended:=False, _
CreateBackup:=False

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


William Prendergast wrote:
I've seen this question asked several different ways but not in this
way.
If so please forgive me if this is a duplicate. I know this is a
really easy question, based on some of the stuff that already seen
in this form, but I don't not work with Excel and am just a lowly
Unix Administrator that needs to
convert alot of excel files into html.

I tried recording a macro that takes several already opened
speadsheets (the names change constantly).

s0adcr4p9.1228
s0adcr4p9.1229
s0adcr5p9.1228
s0adcr5p9.1229

and saves them as a separate html file. Basically once they
are open, do a File/Save As Web Page, then a File Close, which goes
to the
next doc and the process repeats the ideal task for a macro.

The macro I created works fine however it is not using the default
savename but instead it wants to use what was used in the macro
and I receive an error that the file already exists.

How can I change the macro to read the name of the file
thats being opened and then save it as that name with a ".htm" on
the end?

I know what I want to do.. I am just not familiar enough with excel
to do it.

Here is the macro as it was generated:

Sub NMON()
'
'
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\sswjp1\My
Documents\NMON\ARCH\s0adcr4p9.1228.htm", _
FileFormat:=xlHtml,
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
End Sub



Somehow I need to replace the s0adcr4p9.1228 with the default save
as name!


Any and all help is appreciated..

Thanks

-Bill



All times are GMT +1. The time now is 01:07 AM.

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