Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I am trying to write a macro that will save a copy of all visible sheets in
my workbook as single file webpages - .mht (one .mht file per sheet). I have written the following which automatically publishes a single file webpage for the current sheet but I have no idea how to generalise it to work on all visible sheets. Can anyone Help? Sub SaveSFWP() Application.ScreenUpdating = False With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _ "C:\Documents and Settings\MatthewA\Desktop\" & Range("a1").Text & " Departure.mht", "Sheet1", "", _ xlHtmlStatic, "Book1_30587", "") .Publish (True) .AutoRepublish = False End With ChDir "C:\Documents and Settings\MatthewA\Desktop" End Sub |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Matt
You can adapt this example http://www.rondebruin.nl/copy6.htm -- Regards Ron De Bruin http://www.rondebruin.nl "Matt" wrote in message ... I am trying to write a macro that will save a copy of all visible sheets in my workbook as single file webpages - .mht (one .mht file per sheet). I have written the following which automatically publishes a single file webpage for the current sheet but I have no idea how to generalise it to work on all visible sheets. Can anyone Help? Sub SaveSFWP() Application.ScreenUpdating = False With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _ "C:\Documents and Settings\MatthewA\Desktop\" & Range("a1").Text & " Departure.mht", "Sheet1", "", _ xlHtmlStatic, "Book1_30587", "") .Publish (True) .AutoRepublish = False End With ChDir "C:\Documents and Settings\MatthewA\Desktop" End Sub |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks Ron,
I have used your example and changed my marco to the following: Sub SaveMHTv2() Application.ScreenUpdating = False For Each sh In ActiveWorkbook.Worksheets If sh.Visible = True Then With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _ "C:\Documents and Settings\MatthewA\Desktop\" & Range("a1").Text & ActiveSheet.Name & ".mht", ActiveSheet.Name, "", _ xlHtmlStatic, "Book1_30587", "") .Publish (True) .AutoRepublish = False End With End If Next sh ChDir "C:\Documents and Settings\MatthewA\Desktop" Application.ScreenUpdating = True End Sub Unfortunately it is still only saving the first sheet of the workbook as a single file webpage. I think it is due to the With statement that I am using. Any idea why it is not running on all the visible sheets? Thanks Matt "Ron de Bruin" wrote: Hi Matt You can adapt this example http://www.rondebruin.nl/copy6.htm -- Regards Ron De Bruin http://www.rondebruin.nl "Matt" wrote in message ... I am trying to write a macro that will save a copy of all visible sheets in my workbook as single file webpages - .mht (one .mht file per sheet). I have written the following which automatically publishes a single file webpage for the current sheet but I have no idea how to generalise it to work on all visible sheets. Can anyone Help? Sub SaveSFWP() Application.ScreenUpdating = False With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _ "C:\Documents and Settings\MatthewA\Desktop\" & Range("a1").Text & " Departure.mht", "Sheet1", "", _ xlHtmlStatic, "Book1_30587", "") .Publish (True) .AutoRepublish = False End With ChDir "C:\Documents and Settings\MatthewA\Desktop" End Sub |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Matt
Add a sh.select line to the code It only use the activesheet now If sh.Visible = True Then sh.select -- Regards Ron de Bruin http://www.rondebruin.nl "Matt" wrote in message ... Thanks Ron, I have used your example and changed my marco to the following: Sub SaveMHTv2() Application.ScreenUpdating = False For Each sh In ActiveWorkbook.Worksheets If sh.Visible = True Then With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _ "C:\Documents and Settings\MatthewA\Desktop\" & Range("a1").Text & ActiveSheet.Name & ".mht", ActiveSheet.Name, "", _ xlHtmlStatic, "Book1_30587", "") .Publish (True) .AutoRepublish = False End With End If Next sh ChDir "C:\Documents and Settings\MatthewA\Desktop" Application.ScreenUpdating = True End Sub Unfortunately it is still only saving the first sheet of the workbook as a single file webpage. I think it is due to the With statement that I am using. Any idea why it is not running on all the visible sheets? Thanks Matt "Ron de Bruin" wrote: Hi Matt You can adapt this example http://www.rondebruin.nl/copy6.htm -- Regards Ron De Bruin http://www.rondebruin.nl "Matt" wrote in message ... I am trying to write a macro that will save a copy of all visible sheets in my workbook as single file webpages - .mht (one .mht file per sheet). I have written the following which automatically publishes a single file webpage for the current sheet but I have no idea how to generalise it to work on all visible sheets. Can anyone Help? Sub SaveSFWP() Application.ScreenUpdating = False With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _ "C:\Documents and Settings\MatthewA\Desktop\" & Range("a1").Text & " Departure.mht", "Sheet1", "", _ xlHtmlStatic, "Book1_30587", "") .Publish (True) .AutoRepublish = False End With ChDir "C:\Documents and Settings\MatthewA\Desktop" End Sub |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Cheers Ron, That has done the trick!
"Ron de Bruin" wrote: Hi Matt Add a sh.select line to the code It only use the activesheet now If sh.Visible = True Then sh.select -- Regards Ron de Bruin http://www.rondebruin.nl "Matt" wrote in message ... Thanks Ron, I have used your example and changed my marco to the following: Sub SaveMHTv2() Application.ScreenUpdating = False For Each sh In ActiveWorkbook.Worksheets If sh.Visible = True Then With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _ "C:\Documents and Settings\MatthewA\Desktop\" & Range("a1").Text & ActiveSheet.Name & ".mht", ActiveSheet.Name, "", _ xlHtmlStatic, "Book1_30587", "") .Publish (True) .AutoRepublish = False End With End If Next sh ChDir "C:\Documents and Settings\MatthewA\Desktop" Application.ScreenUpdating = True End Sub Unfortunately it is still only saving the first sheet of the workbook as a single file webpage. I think it is due to the With statement that I am using. Any idea why it is not running on all the visible sheets? Thanks Matt "Ron de Bruin" wrote: Hi Matt You can adapt this example http://www.rondebruin.nl/copy6.htm -- Regards Ron De Bruin http://www.rondebruin.nl "Matt" wrote in message ... I am trying to write a macro that will save a copy of all visible sheets in my workbook as single file webpages - .mht (one .mht file per sheet). I have written the following which automatically publishes a single file webpage for the current sheet but I have no idea how to generalise it to work on all visible sheets. Can anyone Help? Sub SaveSFWP() Application.ScreenUpdating = False With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _ "C:\Documents and Settings\MatthewA\Desktop\" & Range("a1").Text & " Departure.mht", "Sheet1", "", _ xlHtmlStatic, "Book1_30587", "") .Publish (True) .AutoRepublish = False End With ChDir "C:\Documents and Settings\MatthewA\Desktop" End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Save autofiltered visible sheet to csv file? | Excel Discussion (Misc queries) | |||
how do i save a single sheet from my workbook? | Excel Programming | |||
Can you save a single sheet directly to a new file | Excel Worksheet Functions | |||
Save a single sheet from a workbook | Excel Discussion (Misc queries) | |||
print and save a single sheet from a workbook using a commandbutt. | Excel Programming |