Vor der Frage:
Vor einiger Zeit bin ich aus bestimmten Gründen für kurze Zeit von hier weggegangen. Während dieser Zeit habe ich E-Mails erhalten, auf die BLOG nicht automatisch geantwortet hat. Ich habe festgestellt, dass mir immer noch viele Leute folgen und den Artikeln Aufmerksamkeit schenken Wenn ich darüber nachdenke, kann ich es immer noch nicht ertragen, hier zu sein, ich kann es nicht ertragen, BLOGJAVA zu verlassen, ich kann es nicht ertragen, hier zu sein. Meine Freunde, lasst uns reden ... Ich weiß nicht, ob ihr es tut sind okay.
Heute schreibe ich einen Artikel wie diesen. Ich habe vor ein paar Tagen einen Word-Bericht ausgedruckt, als der Kunde mich beim Drucken des Berichts dazu aufforderte, die Kopfzeile jeder Tabelle anzuzeigen, wenn ein Seitenwechsel erforderlich war.
Die letztgenannte Anforderung ist relativ einfach zu implementieren. Word verfügt über eine integrierte Kopfzeilenduplizierung, mit der sichergestellt werden kann, dass „die Kopfzeile jeder Tabelle beim Seitenwechsel weiterhin angezeigt werden kann“: Die wiederholten Zeilen müssen die erste enthalten Zeile der Tabelle, was zufällig auch eine der Anforderungen meines Kunden ist.
Wenn jedoch mehrere Tische miteinander verbunden sind, werden beim Drucken unabhängig davon, wie nahe der obere und der untere Tisch beieinander liegen, zwei sehr nahe beieinander liegende Linien angezeigt, was nicht den Anforderungen des Kunden entspricht und nicht schön ist.
Später habe ich über diese Methode nachgedacht und die untere Zeile aus der letzten Zeile der vorherigen Tabelle entfernt, sodass zwischen der oberen und unteren Tabelle nur noch eine Zeile vorhanden ist, obwohl in der Mitte noch ein wenig Platz vorhanden ist sehr zufrieden damit.
Dabei liegt ein Fehler vor: Wenn Tabelle A genau eine Seite umfasst und die nächste Seite eine andere Tabelle ist, ist die letzte Zeile von Tabelle A nicht vorhanden. Beim Drucken fehlt in der Tabelle die untere Zeile. Das ist wirklich hässlich und es ist kein Tisch.
Die Lösung: Verwenden Sie zunächst das Wortmakro, um zu sehen, wie die unterste Zeile der Tabelle gezeichnet wird, und bestimmen Sie, auf welcher Seite sich der Cursor befindet. Beim Drucken mit Javascript stellen Sie fest, ob sich die letzte Zeile einer Tabelle und die erste Zeile der nächsten Tabelle befinden auf derselben Seite, wenn es sich nicht auf einer Seite befindet, wird die vorherige Tabelle unterhalb der Zeile hinzugefügt.
Die Beurteilungsmethode ist wie folgt:
Funktion Seite (Tabelle1, Zeile1, Tabelle2, Zeile2){
myDoc.Tables(table1).Rows(row1).Select();
var page=wordApp.Selection.Information(3);
myDoc.Tables(table2).Rows(row2).Select();
var page1=wordApp.Selection.Information(3);
if(Seite1>Seite)
myDoc.Tables(table1).Borders.OutsideLineStyle=1;
}
Der Kunde, der sehr schwer zu bedienen war, lächelte schließlich, nachdem er den gedruckten Bericht gelesen hatte. Schließlich waren die Bemühungen mehrerer Tage nicht umsonst.