Antes da pergunta:
Há algum tempo, por alguns motivos, saí daqui por pouco tempo. Nesse período, recebi e-mails que não foram respondidos automaticamente pelo BLOG. Descobri que ainda tem muita gente me seguindo e prestando atenção nos artigos que eu. escrevi antes. Pensando nisso, ainda não aguento estar aqui, não aguento sair do BLOGJAVA, não aguento ficar aqui Meus amigos, vamos conversar... não sei se vocês. estão bem.
Hoje estou escrevendo um artigo como este. Imprimi um relatório do Word há alguns dias. Quando o cliente me pediu para conectar várias tabelas ao imprimir o relatório, o cabeçalho de cada tabela ainda poderia ser exibido se uma alteração de página fosse necessária.
O último requisito é relativamente fácil de implementar. O Word possui uma duplicação de linha de cabeçalho integrada, que pode realizar "o cabeçalho de cada tabela ainda pode ser exibido ao mudar de página. Esta função tem uma premissa: as linhas repetidas devem conter a primeira." linha da tabela, que também é um dos requisitos do meu cliente.
Porém, quando várias tabelas são conectadas entre si, por mais próximas que as tabelas superior e inferior estejam durante a impressão, serão exibidas duas linhas muito próximas, o que não atende aos requisitos do cliente e não é bonito.
Mais tarde, pensei neste método, removendo a linha inferior da última linha da tabela anterior, para que houvesse apenas uma linha entre as tabelas superior e inferior. Embora ainda haja um pequeno espaço no meio, o cliente estava. muito satisfeito com isso.
Há um erro ao fazer isso: se a tabela A for exatamente uma página e a próxima página for outra tabela, então a última linha da tabela A não está lá. Ao imprimir, a tabela está faltando na linha inferior. e não é uma mesa.
A solução: primeiro use a palavra macro para ver como desenhar a linha inferior da tabela e determinar a página onde está o cursor. Ao imprimir com javascript, determine se a última linha de uma tabela e a primeira linha da próxima tabela estão. na mesma página. Se não estiver em uma página, a tabela anterior será adicionada abaixo da linha.
O método de julgamento é o seguinte:
function Página (tabela1,linha1,tabela2,linha2){
meuDoc.Tables(tabela1).Rows(linha1).Select();
var page=wordApp.Selection.Information(3);
meuDoc.Tables(tabela2).Rows(linha2).Select();
var página1=wordApp.Selection.Information(3);
if(página1>página)
myDoc.Tables(tabela1).Borders.OutsideLineStyle=1;
}
O cliente que era muito difícil de atender finalmente sorriu ao ler o relatório impresso. Afinal, o esforço de vários dias não foi em vão.