Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除outlook 365中HTML邮件正文中表格前后的换行符_Html_Excel_Vba_Outlook - Fatal编程技术网

删除outlook 365中HTML邮件正文中表格前后的换行符

删除outlook 365中HTML邮件正文中表格前后的换行符,html,excel,vba,outlook,Html,Excel,Vba,Outlook,我正在尝试使用vba从outlook 365发送电子邮件。在运行编码时,我会在插入表之前和之后以及签名之后得到换行符。除此之外,我的编码工作得很好 有人能帮我找到一个解决方案来删除非必需的换行符吗 我从当前编码中得到的结果: 编码的预期结果: 下面是我创建的代码(参考rondebruin) 最后一个是签名的编码,我也是通过引用rondebruin创建的 Function GetBoiler(ByVal sFile As String) As String Dim fso As Object

我正在尝试使用vba从outlook 365发送电子邮件。在运行编码时,我会在插入表之前和之后以及签名之后得到换行符。除此之外,我的编码工作得很好

有人能帮我找到一个解决方案来删除非必需的换行符吗

我从当前编码中得到的结果:

编码的预期结果:

下面是我创建的代码(参考rondebruin)

最后一个是签名的编码,我也是通过引用rondebruin创建的

Function GetBoiler(ByVal sFile As String) As String
Dim fso As Object
Dim ts As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
GetBoiler = ts.readall
ts.Close
End Function

在查看代码时,似乎在调用RangetoHtml(rng)函数时会出现额外的行


你能检查一下吗,或者分享一下我能复习的代码。

谢谢分享这些信息。您的代码(RangetoHtml)看起来不错

我猜想,您所指的转换为html的范围包含一行额外的内容。 请您检查一下您是否选择了范围内的额外行。我认为在下面的代码中,选择了一个额外的行。您可以通过单独运行以下代码来检查这一点:

Sheets("OPE details Pivot").PivotTables(1).TableRange1.Select

Set rng = Selection.SpecialCells(xlCellTypeVisible)

Rng.copy

在RangetoHTML函数中的“TempWB.Close”行之前添加以下行修复了这个问题

RangetoHTML = Replace(RangetoHTML, "<!--[if !excel]>&nbsp;&nbsp;<![endif]-->", "")
RangetoHTML=Replace(RangetoHTML,“,”)

技巧我编辑了我的问题,并分享了RangetoHtml(rng)函数和GetBoiler函数的编码。请看一看并帮助纠正此问题。如果您需要我这边的其他详细信息,请告诉我。我已经通过运行给定代码检查了完整的范围,范围内没有额外的行。。即使我给出了具体的范围,邮件正文中仍有额外的行。。是否有任何代码可以删除一行。。
.HTMLbody = StrBody & RangetoHTML(rng) & Signature & .HTMLbody
Sheets("OPE details Pivot").PivotTables(1).TableRange1.Select

Set rng = Selection.SpecialCells(xlCellTypeVisible)

Rng.copy
RangetoHTML = Replace(RangetoHTML, "<!--[if !excel]>&nbsp;&nbsp;<![endif]-->", "")