【问题标题】:Formatting cells in an HTML table for an Outlook email为 Outlook 电子邮件格式化 HTML 表格中的单元格
【发布时间】:2021-07-16 17:33:22
【问题描述】:

我的宏使用 Excel 和 VBA 发送 Outlook 电子邮件。该电子邮件包含一个包含收件人详细信息的表格。它运作良好,但下一步是让它看起来更专业。正如我之前提到的,我还没有对 HTML 做过很多,所以这是我学习曲线的一部分。

我有几个关于我正在使用的代码的问题,我可以使用一些帮助来格式化表格。

  • 这一行设置表格。我很好奇 60% 和它是什么 指的是?电子邮件页面宽度?

    "

    "
  • 此行设置一个详细信息行。 10% 指的是什么?这 表格宽度?

    DataRow = DataRow & "

  • " & Worksheets("Macro").Cells(vStartRow, 4) & ""
  • 我无法对齐数据。我不确定如何添加第二个 属性 (?) 到特定的单元格。我想将数据居中对齐 前 3 列(客户编号、RA 编号和日期),然后右对齐 金额(就像您通常在 Excel 中看到的那样)。

  • 以下是创建表详细信息的代码:

    DataRow = DataRow & "<tr>"
    DataRow = DataRow & "<td ""col width=10%"">" & Worksheets("Macro").Cells(vStartRow, 4) & "</td>"
    DataRow = DataRow & "<td ""col width=10%"">" & Worksheets("Macro").Cells(vStartRow, 5) & "</td>"
    DataRow = DataRow & "<td ""col width=10%"">" & Format(Worksheets("Macro").Cells(vStartRow, 6), "mm/dd/yy") & "</td>"
    DataRow = DataRow & "<td ""col width=10%"">" & Format(Worksheets("Macro").Cells(vStartRow, 7), "#,##0.00") & "</td>"
    strRows = strRows & "</tr>"
    

    我附上了一些示例数据的图片,以便您查看我正在查看的内容。任何链接到其他解决方案的建议将不胜感激。提前感谢您抽出宝贵时间与我分享您的知识和经验........

    【问题讨论】:

    • 就个人而言,我只会使用原始表格而不设置任何宽度,然后使用 CSS 设置样式(您也可以在电子邮件中这样做)
    • @brax......谢谢............我以前没有使用过 CSS 或 HTML。宽度是我看到并修改为我使用的东西。我感谢您的回复.....
    • 如果您想尝试,请在您正在构建 DataRow 字符串的顶部(在您开始表格的位置之前)放置类似 DataRow = DataRow &amp; "&lt;style&gt; table td {width:100px;} &lt;/style&gt;" 的内容。
    • (1) 页面宽度的 60%,但如果内容过多,它将比该宽度更宽 (2) 表格总宽度的 10% (3) 左/右/居中对齐 @ 987654327@等w3schools.com/cssref/pr_text_text-align.ASP
    • @braX............谢谢............我会看看...... ..

标签: html vba outlook html-email


【解决方案1】:

我很好奇 60% 是什么意思?电子邮件页面宽度? "&lt;table style=""width:60%""&gt;"

这个表格将是父表格(它之前的标签)的 60% 宽度。

此行设置一个详细信息行。 10% 指的是什么?桌子宽度? DataRow = DataRow &amp; "&lt;td ""col width=10%""&gt;" &amp; Worksheets("Macro").Cells(vStartRow, 4) &amp; ""

由于宽度在&lt;td&gt; 上,因此它将引用该特定列的宽度。

我无法对齐数据。我不确定如何将第二个属性(?)添加到特定的单元格。我想将前 3 列(客户编号、RA # 和日期)中的数据居中对齐,然后将金额右对齐(就像您通常在 Excel 中看到的那样)。

要对齐文本,您可以使用 CSS,与 @braX 相反,您需要指定此“内联”,即 style="text-align: center",而不是使用 &lt;style&gt;...&lt;/style&gt;。这是因为一些电子邮件客户端删除了&lt;style&gt;...&lt;/style&gt; 部分。

因此你可以写DataRow = DataRow &amp; "&lt;td width='10%' style='text-align:center;'&gt;"

小心 您还会发现在手机上查看此内容很困难,因为表格很长。考虑“卡片”格式,例如https://medium.com/@nathankeenmelb/responsive-datatables-through-card-ui-design-for-email-aca6f3c395a2

【讨论】:

  • @Nathan.......非常感谢您提供这些信息。这对提高我对 HTML 的了解非常有帮助。感谢您的帮助........
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-26
  • 1970-01-01
  • 2012-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多