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


0

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

代码忽略了图表,所以我们所做的是合并图表所在的电子表格后面的所有单元格,然后一旦我们在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


你真的觉得网络驱动器上的电子表格有什么不同吗?我会调查第一个工作站的配置是否与第二个工作站不同?例如,Excel版本和/或Outlook版本是否不同?是否有来自Microsoft或第三方的特殊插件?你有不同行高的第一个工作站和第二个工作站的截图吗?
2016年

所有版本的Excel和Outlook都是相同的。没有不同的加载项。关于工作表位于网络驱动器上的要点是,在两种情况下它都是相同的工作表,而不是副本。

你有办法比较两个工作站的HTML输出吗?必须有一个简单的解释。ExamDiff是免费的:prestosoft.com/edp_examdiff.asp
太阳

我明天会试一试。我可以将HTML作为文本打印出来并寻找差异。

@LunaMezza我添加了截图和HTML示例。该HTML是两个,每个有它自己的行高度确实不同
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.