【问题标题】:Add tab spaces to mail body将制表符空格添加到邮件正文
【发布时间】:2019-10-18 17:48:39
【问题描述】:

我希望在文本正文中添加制表符/间距,特别是在“1”之前和之后。

我尝试了 " " 和 Space(10)。

 sBodyStart = "<font size=""3"" face=""Calibri"" color=""black"">" & _
                "Good Afternoon," & "<br>" & "<br>" & vbCrLf & vbCrLf & _
                "Please confirm and acknowledge the below by responding with the appropriate voting button." & "<br>" & "<br>" & _
"1. Do not share this information." & "<br>" & "<br>" & _
                "Please provide a response to this email using the voting buttons, no later than September 20, 2019. If you have any questions, please do not hesitate to reach out." & "<br>" & "<br>" & "<br>" & vbCrLf & vbCrLf & _
                "</font>"

【问题讨论】:

  • 这将输出到 HTML,并将被如此解释。我怀疑您的 HTML 解释器(outlook)正在剥离多个空格,因为 HTML 通常会这样做。尝试在字符串中为您要添加的每个空格添加一个&amp;nbsp;

标签: vba outlook


【解决方案1】:

这实际上是嵌入到 VBA 中的 HTML,它将忽略空格。如果您添加 "&amp;nbsp;" 应该可以工作

【讨论】:

  • 如何添加它?我试过“1”。 “ ” “ ” “ ” “ ” “不要共享此信息”,但这不起作用
  • 在 VBA 中将其添加为字符串文字:"1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do not share this information." 这里令人困惑的部分是您在 VBA 中使用 VBA 字符(例如 vbcrlf 和可能的 vbtab)将字符串连接在一起。当它使您的 sBodyStart 变量时,这将被解释。但是随后该变量将用于编写电子邮件……因此 Outlook 或最终用户电子邮件客户端将解释您在该字符串中拥有的 HTML,这就是您丢失空格的地方(可能)。所以就像你需要&lt;br&gt; 告诉它“新行”一样,你也需要&amp;nbsp;
【解决方案2】:

使用vbTabChr(9)

如果你使用Space(10),那么它将放入10个空格。 Outlook 有一个“纠正”多余空格的坏习惯,要么完全消除它们,要么将它们转换为非中断空格 (Chr(160))

【讨论】:

  • 我执行了以下操作,但它没有显示选项卡“1”。 & vbTab & "不要分享此信息" & "
    " & _
  • @rauf741 你设置你的Ruler.TabStops了吗?
  • 我没有,我该怎么做?
【解决方案3】:

一些html实体怎么样:

 &nbsp; to add a single space.
 &ensp; to add 2 spaces.
 &emsp; to add 4 spaces.
 or some  other "special" char from unicode ?

也许可以通过尝试让前景生活变得更有趣

  <span>&nbsp;</span>

【讨论】:

    猜你喜欢
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    相关资源
    最近更新 更多