Um colega está automatizando a criação de um relatório de email no MS Outlook 2013 a partir do MS Excel 2013 usando este código de Ron de Bruin .
O código ignora os gráficos. Assim, o que fizemos foi mesclar todas as células por trás de onde os gráficos estão na planilha e, depois que tivermos o email no Outlook (usamos a .display
propriedade em vez de .send
verificar e editar o email antes de enviá-lo) podemos copiar e colar regularmente os gráficos nesses blocos de células mesclados e tudo fica ótimo.
No entanto, quando usamos exatamente a mesma planilha (em uma unidade de rede) em um computador diferente, o email no Outlook tem diferentes alturas de linha. Isso significa que o bloco de células mescladas agora está mais alto e, quando colamos os gráficos, eles não preenchem mais o espaço.
Alguém sabe de uma configuração do Windows / Outlook / Excel que pode estar causando isso? Estamos executando o Windows 8 e o Office 2013 Home and Business.
Aqui estão as capturas de tela de uma amostra dos dois computadores:
Portanto, a altura da linha no segundo computador é maior e isso causa uma área de espaço em branco abaixo do gráfico (que é colada em uma grande área de células mescladas).
Também analisamos o HTML em cada computador e há realmente uma diferença. Aqui está uma pequena amostra de cada um:
<body>
<!--[if !excel]> <![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'> </td>
<td class=xl6325510 width=56 style='border-left:none;width:42pt'> </td>
<td class=xl6325510 width=135 style='border-left:none;width:101pt'> </td>
<td class=xl6325510 width=56 style='border-left:none;width:42pt'> </td>
...
E
<body>
<!--[if !excel]> <![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'> </td>
<td class=xl6317217 width=64 style='border-left:none;width:48pt'> </td>
<td class=xl6317217 width=135 style='border-left:none;width:101pt'> </td>
<td class=xl6317217 width=64 style='border-left:none;width:48pt'> </td>
<td class=xl6317217 width=64 style='border-left:none;width:48pt'> </td>
...
A altura da linha no primeiro HTML é 16
(ou seja, <tr height=16...
) e no segundo é 20
!