首页 > 解决方案 > 将 Excel 数据导出到 html 页面时 Excel 挂起

问题描述

使用下面的代码,我正在尝试将 excel 数据导出到 html 页面,但 excel 挂起。请提供任何帮助。第一个代码以前可以工作,但现在不行。我确保激活了同一张工作表,并且工作表中有 11 列和 216 行的数据。

Sub PublishOnWeb1()
Dim objPub As Excel.PublishObject
Set objPub = ThisWorkbook.PublishObjects.Add( _
SourceType:=xlSourceSheet, _
Filename:="C:\SLED\SLED_Time_Teams.htm", Sheet:="Teams", _
HtmlType:=xlHtmlStatic, Title:="SLED Time Teamwise")
objPub.Publish True
End Sub


Sub PublishOnWeb2()

 Dim rng As Range
 Sheets("Teams").Activate
 Set rng = Sheets("Teams").UsedRange
 file1 = "C:\SLED\SLED_Time_Teams.htm"

    With ActiveWorkbook.PublishObjects.Add(SourceType:=xlSourceRange, Filename:=file1, Sheet:=rng.Worksheet.Name, Source:=rng.Address, HtmlType:=xlHtmlStatic)
   .Publish (True)
    End With
    MsgBox "Done"
End Sub

标签: excelvba

解决方案


sheet 有 11 列和 216 行的数据。

这对我有用。

无需激活工作表。我没有使用.Activate/UsedRange只是使用实际需要的东西。检查这是否适合您?如果您的范围不同,那么我们稍后可以找到最后一行和最后一列,然后构造范围地址。

Option Explicit

Sub Sample()
    Dim wb As Workbook
    Dim ws As String
    Dim rng As String
    Dim file As String

    Set wb = ThisWorkbook
    ws = "Teams"
    rng = "A1:K216"

    file = "C:\SLED\SLED_Time_Teams.htm"

    With wb.PublishObjects.Add(SourceType:=xlSourceRange, Filename:=file, _
                               Sheet:=ws, Source:=rng, HtmlType:=xlHtmlStatic)
        .Publish (True)
    End With

    MsgBox "Done"
End Sub

推荐阅读