对整个工作簿重复 vba
repeat vba for entireworkbook
我有将 xlsm 转换为 html 的代码。我需要为整个工作簿重复此代码并且
1-导出文件名,与sheet名称相同,在文件路径
中
2-select printarea range for convert each sheet
3-每个sheet,分别转换为html
Sub Export()
Dim rng As Range
file1 = ThisWorkbook.Path & "\" & "test.html"
Set rng = Sheets("Tabelle1").Range("A1:C10")
ActiveWorkbook.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=file1, _
Sheet:=rng.Worksheet.Name, _
Source:=rng.Address, _
HtmlType:=xlHtmlStatic).Publish
End Sub
请尝试下一种方式:
Sub ExportAllSheets()
Dim rng As Range, file1 As String, sh As Worksheet
For Each sh In ThisWorkbook.Sheets
If sh.PageSetup.PrintArea <> "" Then
Set rng = sh.Range(sh.PageSetup.PrintArea)
file1 = ThisWorkbook.path & "\" & sh.Name & ".html"
ActiveWorkbook.PublishObjects.Add( _
SourceType:=xlSourceRange, fileName:=file1, _
sheet:=sh.Name, Source:=rng.Address, _
HtmlType:=xlHtmlStatic).Publish
End If
Next
End Sub
它应该为每个 sheet 导出 html 个文件,以 sheet 名称作为文件名。
我有将 xlsm 转换为 html 的代码。我需要为整个工作簿重复此代码并且
1-导出文件名,与sheet名称相同,在文件路径
中2-select printarea range for convert each sheet
3-每个sheet,分别转换为html
Sub Export()
Dim rng As Range
file1 = ThisWorkbook.Path & "\" & "test.html"
Set rng = Sheets("Tabelle1").Range("A1:C10")
ActiveWorkbook.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=file1, _
Sheet:=rng.Worksheet.Name, _
Source:=rng.Address, _
HtmlType:=xlHtmlStatic).Publish
End Sub
请尝试下一种方式:
Sub ExportAllSheets()
Dim rng As Range, file1 As String, sh As Worksheet
For Each sh In ThisWorkbook.Sheets
If sh.PageSetup.PrintArea <> "" Then
Set rng = sh.Range(sh.PageSetup.PrintArea)
file1 = ThisWorkbook.path & "\" & sh.Name & ".html"
ActiveWorkbook.PublishObjects.Add( _
SourceType:=xlSourceRange, fileName:=file1, _
sheet:=sh.Name, Source:=rng.Address, _
HtmlType:=xlHtmlStatic).Publish
End If
Next
End Sub
它应该为每个 sheet 导出 html 个文件,以 sheet 名称作为文件名。