通过 Excel 自动化 Outlook 导致不同计算机上的行高不同

通过 Excel 自动化 Outlook 导致不同计算机上的行高不同

一位同事正在使用 MS Excel 2013 自动在 MS Outlook 2013 中创建电子邮件报告这是 Ron de Bruin 的代码

代码忽略了图表,因此我们所做的就是合并电子表格中图表所在位置的所有单元格,然后一旦我们在 Outlook 中收到电子邮件(我们使用属性.display而不是.send以便在发送之前检查和编辑邮件)我们就可以定期将图表复制并粘贴到这些合并的单元格块中,一切看起来都很棒。

但是,当我们在另一台计算机上使用完全相同的电子表格(位于网络驱动器上)时,Outlook 中的邮件行高会有所不同。这意味着合并后的单元格块现在更高,当我们粘贴图表时,它们不再填满空间。

有谁知道 Windows / Outlook / Excel 设置可能导致此问题?我们运行的是 Windows 8 和 Office 2013 Home and Business。


以下是两台计算机的示例屏幕截图:

第一台计算机的屏幕截图

第二台计算机的屏幕截图

因此,第二台计算机上的行高较大,这会导致图表下方出现一片空白(粘贴到大片合并单元格中)。

我们还查看了每台计算机上的 HTML,发现确实存在差异。以下是每台计算机上的一个小示例:

<body> 
<!--[if !excel]>&nbsp;&nbsp;<![endif]--> 
<!--The following information was generated by Microsoft Excel's Publish as Web 
Page wizard.--> 
<!--If the same item is republished from Excel, all information between the DIV 
tags will be replaced.--> 
<!-----------------------------> 
<!--START OF OUTPUT FROM EXCEL PUBLISH AS WEB PAGE WIZARD --> 
<!-----------------------------> 
<div id="Sheet1_25510" align=left x:publishsource="Excel"> 
<table border=0 cellpadding=0 cellspacing=0 width=807 style='border-collapse: 
 collapse;table-layout:fixed;width:605pt'> 
 <col width=56 span=2 style='width:42pt'> 
 <col width=135 style='mso-width-source:userset;mso-width-alt:5760;width:101pt'> 
 <col width=56 span=10 style='width:42pt'> 
 <tr height=16 style='height:12.0pt'> 
  <td height=16 class=xl6325510 width=56 style='height:12.0pt;width:42pt'>&nbsp;</td> 
  <td class=xl6325510 width=56 style='border-left:none;width:42pt'>&nbsp;</td> 
  <td class=xl6325510 width=135 style='border-left:none;width:101pt'>&nbsp;</td> 
  <td class=xl6325510 width=56 style='border-left:none;width:42pt'>&nbsp;</td>
...

<body> 
<!--[if !excel]>&nbsp;&nbsp;<![endif]--> 
<!--The following information was generated by Microsoft Excel's Publish as Web 
Page wizard.--> 
<!--If the same item is republished from Excel, all information between the DIV 
tags will be replaced.--> 
<!-----------------------------> 
<!--START OF OUTPUT FROM EXCEL PUBLISH AS WEB PAGE WIZARD --> 
<!-----------------------------> 
<div id="Sheet1_17217" align=left x:publishsource="Excel"> 
<table border=0 cellpadding=0 cellspacing=0 width=903 style='border-collapse: 
 collapse;table-layout:fixed;width:677pt'> 
 <col width=64 span=2 style='width:48pt'> 
 <col width=135 style='mso-width-source:userset;mso-width-alt:4937;width:101pt'> 
 <col width=64 span=10 style='width:48pt'> 
 <tr height=20 style='height:15.0pt'> 
  <td height=20 class=xl6317217 width=64 style='height:15.0pt;width:48pt'>&nbsp;</td> 
  <td class=xl6317217 width=64 style='border-left:none;width:48pt'>&nbsp;</td> 
  <td class=xl6317217 width=135 style='border-left:none;width:101pt'>&nbsp;</td> 
  <td class=xl6317217 width=64 style='border-left:none;width:48pt'>&nbsp;</td> 
  <td class=xl6317217 width=64 style='border-left:none;width:48pt'>&nbsp;</td> 
...

第一个 HTML 中的行高为16(即<tr height=16...),而第二个 HTML 中的行高为20

相关内容