【问题标题】:Text alignment in HTML table column through VBA通过VBA在HTML表格列中的文本对齐
【发布时间】:2022-07-20 17:17:23
【问题描述】:

我正在尝试使用 Excel VBA 起草一份带有 html 表格的 Outlook 邮件正文。

我能够用表格和数据起草邮件。我无法将金额列中的文本对齐为右对齐。

如何将金额列中的文本右对齐?

Dim strTableHeader As String
Dim strTableBody As String
itb="abc"
balance=1000
strTableHeader = "<font size=3 face=" & Chr(34) & "Arial" & Chr(34) & "><b>" & _
                    "<tr bgcolor=lightblue>" & _
                        TD("ITB") & _
                        TD("Balance Amount") & _
                    "</tr></b></font>"

strTableBody= strTableBody & strTableHeader
strTableBody = strTableBody & _
                      "<tr>" & _
                          TD(itb) & _
                          TD(balance) & _
                      "</tr>"

我在我的邮件发送过程中使用这个:

Sub sendmailmdl()
    DoEvents
    Set olApp = Outlook.Application
    Set objMail = olApp.CreateItem(olMailItem)
    With objMail
         
        .HTMLBody = "<HTML><BODY>"  & strTableBody & " </BODY></HTML>" 
        
        .Display
        DoEvents
         
    End With
End Sub

在哪里

TD(strIn As String) As String TD = "<TD nowrap>" & strIn & "</TD>" End Function

【问题讨论】:

  • TD() 是做什么的?也许传递一个对齐?或者设置一个类并添加一个样式
  • 函数 TD(strIn As String) As String TD = "" & strIn & "" 结束函数

标签: html excel vba outlook


【解决方案1】:

添加

tbody tr td:nth-child(2) { text-align: right; }

到你的样式表

或将第二个参数传递给 TD() 以添加

style="text-align: right; white-space:nowrap"

到单元格

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    相关资源
    最近更新 更多