Sebelum pertanyaan:
Beberapa waktu lalu, karena suatu hal, saya keluar sebentar dari sini. Selama kurun waktu tersebut, saya menerima email yang tidak otomatis dibalas oleh BLOG. Saya menemukan masih banyak orang yang mengikuti saya dan memperhatikan artikel saya tulis sebelumnya. Kalau dipikir-pikir, saya masih tidak tega berada di sini, saya tidak tega meninggalkan BLOGJAVA, saya tidak tega berada di sini. Teman-teman, mari kita bicara... Saya tidak tahu apakah Anda baik-baik saja.
Hari ini saya menulis artikel seperti ini. Saya mencetak laporan kata beberapa hari yang lalu. Ketika pelanggan meminta saya untuk menghubungkan beberapa tabel bersama-sama saat mencetak laporan, header setiap tabel masih dapat ditampilkan jika diperlukan perubahan halaman.
Persyaratan terakhir ini relatif mudah untuk diterapkan. Word memiliki duplikasi baris header bawaan, yang dapat mewujudkan "header setiap tabel masih dapat ditampilkan saat mengganti halaman." Fungsi ini memiliki premis: baris yang diulang harus berisi yang pertama baris tabel. , yang juga merupakan salah satu persyaratan klien saya.
Namun, ketika beberapa tabel dihubungkan bersama, tidak peduli seberapa dekat tabel atas dan bawah saat mencetak, dua garis yang sangat berdekatan akan ditampilkan, yang tidak memenuhi kebutuhan pelanggan dan tidak indah.
Belakangan saya memikirkan cara ini, menghilangkan garis bawah dari baris terakhir tabel sebelumnya, sehingga hanya ada satu garis antara tabel atas dan bawah. Meski masih ada sedikit tempat pendek di tengah, pelanggan itu sangat puas dengan itu.
Ada bug dalam melakukan ini: jika tabel A tepat satu halaman, dan halaman berikutnya adalah tabel lain, maka baris terakhir tabel A tidak ada. Saat mencetak, tabel tersebut kehilangan baris bawah dan itu bukan meja.
Solusinya: pertama gunakan kata makro untuk melihat cara menggambar garis bawah tabel dan menentukan halaman tempat kursor berada. Saat mencetak dengan javascript, tentukan apakah baris terakhir dari satu tabel dan baris pertama dari tabel berikutnya pada halaman yang sama. Jika tidak pada satu halaman, tabel sebelumnya ditambahkan di bawah baris.
Cara penilaiannya adalah sebagai berikut:
halaman fungsi (tabel1,baris1,tabel2,baris2){
myDoc.Tables(table1).Rows(row1).Select();
var halaman=WordApp.Selection.Informasi(3);
myDoc.Tables(table2).Rows(row2).Select();
var halaman1=wordApp.Seleksi.Informasi(3);
jika(halaman1>halaman)
myDoc.Tables(table1).Borders.OutsideLineStyle=1;
}
Pelanggan yang sangat sulit dilayani itu akhirnya tersenyum setelah membaca laporan yang dicetak. Memang tidak mudah, usahanya selama beberapa hari tidak sia-sia.