gpt4 book ai didi

excel - 将 Excel 范围发布到 HTML 时文本被截断

转载 作者:行者123 更新时间:2023-12-04 20:09:49 27 4
gpt4 key购买 nike

为了自动化一些业务流程,我将 Excel 单元格范围复制到 Outlook 邮件中。我使用 HTML 方法将范围插入邮件正文。但是,范围的顶部是具有明确边界的“正常”表。表格下方有一些自由文本(在开头写入 1 个单元格)。

如果自由文本长于表格的范围,则文本将被剪切而不显示。

有解决方法吗?

找到生成 HTML 文件(并剪切文本)的代码部分。以及用于说明的屏幕截图。

rng.copy
Set TempWB = Workbooks.Add(1)
With TempWB.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
.Cells(1).PasteSpecial xlPasteValues, , False, False
.Cells(1).PasteSpecial xlPasteFormats, , False, False
.Cells(1).Select
Application.CutCopyMode = False
On Error Resume Next
.DrawingObjects.Visible = True
.DrawingObjects.Delete
On Error GoTo 0
End With


'Publish the sheet to a htm file
'Until here Text is displayed correctly.
With TempWB.PublishObjects.Add( _
SourceType:=xlSourceRange, _
filename:=TempFile, _
Sheet:=TempWB.Sheets(1).name, _
Source:=TempWB.Sheets(1).UsedRange.Address, _
HtmlType:=xlHtmlStatic)
.Publish (True)
End With

Screenshot

文本文件的最后两个单词应显示:
  • 足球 而不是footba
  • 树屋而不是 treeho

  • 如您所见,这是因为文本超出了表格范围的边界。

    谢谢你的帮助。最大限度

    最佳答案

    要确保文本不会超出或隐藏在 html 表格数据/单元格中,您可以使用 .AutoFit 在另存为 html 文件之前,使列宽与单元格中的文本长度相匹配。

    这将确保 html 表格的宽度可以容纳所有文本。

    只需添加以下行: .Cells.EntireColumn.AutoFit

    这是代码的更新部分:

    With TempWB.Sheets(1)
    .Cells(1).PasteSpecial Paste:=8
    .Cells(1).PasteSpecial xlPasteValues, , False, False
    .Cells(1).PasteSpecial xlPasteFormats, , False, False
    .Cells(1).Select
    .Cells.EntireColumn.AutoFit ' Added line of code to make column widths match the text length
    Application.CutCopyMode = False
    On Error Resume Next
    .DrawingObjects.Visible = True
    .DrawingObjects.Delete
    On Error GoTo 0
    End With

    关于excel - 将 Excel 范围发布到 HTML 时文本被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55158875/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com