• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Hỏi về code xuống dòng khi in đoạn văn bản dài trong 1 ô

Góc trao đổi, hỏi đáp của ngôn ngữ Visual Basic 6 và Visual Basic Script

Điều hành viên: tungblt

khzaof
Bài viết: 2
Ngày tham gia: T.Ba 06/03/2012 1:32 pm
Has thanked: 1 time

Hỏi về code xuống dòng khi in đoạn văn bản dài trong 1 ô

Gửi bàigửi bởi khzaof » T.Sáu 12/05/2017 10:22 pm

Ok mình đã làm được rồi, thanks mọi người :)

Chào mọi người, mọi người giúp mình trường hợp này nhé
mình muốn in 1 đoạn văn bản dài đến cuối viền ô sẽ xuống dòng, đoạn văn bản chỉ năm trong ô đó thôi.
Hình ảnh

Mã: Chọn hết

Printer.Line (1000, 2000)-(5000, 10000), vbRed, B
Printer.CurrentX = 1100
Printer.CurrentY = 2100
Printer.Print Text1.Text
Printer.EndDoc

file mình đính kèm
Trân trọng cám ơn. :)
Tập tin đính kèm
PROJ.rar
(1.25 KiB) Đã tải 20 lần



Hình đại diện của người dùng
Dark.Cosmos
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 71
Ngày tham gia: T.Sáu 21/11/2014 3:58 am
Has thanked: 24 time
Been thanked: 13 time
Liên hệ:

Re: Hỏi về code xuống dòng khi in đoạn văn bản dài trong 1 ô

Gửi bàigửi bởi Dark.Cosmos » T.Năm 13/07/2017 1:49 pm

Tạo 1 Form, thiết lập font của From đó giống font của văn bản.
Sau đó sử dụng function From.TextWidth("VănBản") để lấy độ dài của văn bản:
Dim textW!: textW = From.TextWidth("VănBản")

textW lúc này có đơn vị là Twips, sử dụng function From.ScaleX để đổi sang đơn vị muốn dùng.
Sử dụng vòng lặp for để đi từ dầu đến hết văn bản.
Trong vòng lặp for, kiểm tra độ dài văn bản với độ dài giới hạn và chèn ký tự vbcrlf vào để xuống dòng.

Độ dài giới hạn ở đây là 2000 - 1000 = 1000 đối với code của bạn:
Printer.Line (1000, 2000)-(5000, 10000), vbRed, B
Triệu người quen có mấy người thân, khi lìa trần có mấy người đưa?
DK Cosmos


Quay về “Visual Basic 6 và Visual Basic Script (VB & VBS)”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.3 khách