Antes de la pregunta:
Hace algún tiempo, por algunas razones, me fui de aquí por un corto tiempo. Durante este período, recibí correos electrónicos que BLOG no respondió automáticamente. Descubrí que todavía hay muchas personas siguiéndome y prestando atención a los artículos que escribí. Escribí antes. Pensando en ello, todavía no puedo soportar estar aquí, no puedo soportar dejar BLOGJAVA, no puedo soportar estar aquí Mis amigos, hablemos... No sé si ustedes. están bien.
Hoy estoy escribiendo un artículo como este. Imprimí un informe de Word hace unos días cuando el cliente me pidió que conectara varias tablas al imprimir el informe, el encabezado de cada tabla aún se podía mostrar si era necesario un cambio de página.
El último requisito es relativamente fácil de implementar. Word tiene una duplicación de filas de encabezado incorporada, que puede lograr que "el encabezado de cada tabla aún se pueda mostrar al cambiar de página". Esta función tiene una premisa: las filas repetidas deben contener la primera. fila de la tabla. , que también es uno de los requisitos de mi cliente.
Sin embargo, cuando se conectan varias mesas, no importa qué tan cerca estén las mesas superior e inferior al imprimir, se mostrarán dos líneas muy cercanas, lo que no cumple con los requisitos del cliente y no es hermoso.
Más tarde, pensé en este método, eliminando la línea inferior de la última fila de la tabla anterior, de modo que solo haya una línea entre las tablas superior e inferior. Aunque todavía hay un pequeño espacio corto en el medio, el cliente estaba. muy satisfecho con ello.
Hay un error al hacer esto: si la tabla A es exactamente una página y la página siguiente es otra tabla, entonces la última fila de la tabla A no está allí. Al imprimir, a la tabla le falta la fila inferior. Es realmente feo. y no es una mesa.
La solución: primero use la palabra macro para ver cómo dibujar la línea inferior de la tabla y determinar la página donde está el cursor. Al imprimir con javascript, determine si la última fila de una tabla y la primera fila de la siguiente tabla son. en la misma página. Si no está en una página, la tabla anterior se agrega debajo de la línea.
El método de juicio es el siguiente:
Función Página (tabla1,fila1,tabla2,fila2){
myDoc.Tables(tabla1).Rows(fila1).Select();
var página=wordApp.Selection.Information(3);
myDoc.Tables(tabla2).Rows(fila2).Select();
var página1=wordApp.Selection.Information(3);
si(página1>página)
myDoc.Tables(table1).Borders.OutsideLineStyle=1;
}
El cliente que fue muy difícil de atender finalmente sonrió después de leer el informe impreso. Después de todo, los esfuerzos de varios días no fueron en vano.