Số dòng chính xác khi lựa chọn in (Microsoft Word)
Word cho phép bạn thêm số dòng vào tài liệu. Điều này có nghĩa là chính xác những gì nó nói — mỗi dòng trong tài liệu được đánh số từ đầu đến cuối. Điều này có thể rất hữu ích khi tạo các tài liệu đặc biệt, chẳng hạn như tài liệu pháp lý hoặc khi in bản cứng để tham khảo tiếp theo trên cơ sở từng dòng.
Khi bạn in tài liệu có bật số dòng liên tục, Word sẽ đánh số từng dòng từ đầu đến cuối. Tuy nhiên, nếu bạn chỉ in một lựa chọn (tạo một lựa chọn, hiển thị hộp thoại In và đảm bảo rằng Lựa chọn được chỉ định làm những gì bạn đang in), thì Word sẽ không in số dòng một cách chính xác. Word đánh số các dòng trong vùng chọn như thể nó là toàn bộ tài liệu — bắt đầu từ một dòng và tiếp tục qua vùng chọn. Người ta sẽ nghĩ rằng một cách tiếp cận tốt hơn sẽ là Word in các số dòng theo những gì vùng chọn thực sự thể hiện trong tài liệu. Ví dụ: nếu bạn đã chọn các dòng từ 57 đến 72 làm lựa chọn của mình và sau đó in nó, Word sẽ in các số từ 57 đến 72 ở phía bên trái của bản in, thay vì từ 1 đến 15.
Thật không may, không có cách nào dễ dàng giải quyết vấn đề này. Một cách giải quyết là không in các lựa chọn. (Đề xuất này nghe có vẻ lắt léo hơn ý nghĩa của nó.) Thay vào đó, hãy in các trang. Trong hộp thoại in, chỉ định một phạm vi trang để in, thay vì một lựa chọn. Word giữ đánh số dòng thích hợp, như thể bạn đánh số từ đầu tài liệu.
Một lựa chọn khác là dựa vào macro để thực hiện “công việc bẩn thỉu” cho bạn. Bạn có thể sử dụng macro để đặt lại số dòng đầu được sử dụng cho lựa chọn của mình. Sau đây là một macro đơn giản yêu cầu bạn nhập số dòng bắt đầu, sau đó in lựa chọn của bạn bằng cách sử dụng số dòng đó làm số đầu tiên được in ở bên trái. (Lưu ý rằng macro này không bắt đầu in với số dòng bạn chỉ định — nó sử dụng số bạn chỉ định làm số dòng bắt đầu cho lựa chọn của bạn.)
Sub LineNumbersPrint() Dim LineNumberStart As Integer On Error GoTo GetOut LineNumberStart = InputBox("First line number for printout?", _ "Line Numbers Printout") With ActiveDocument.PageSetup With .LineNumbering .Active = True .StartingNumber = LineNumberStart End With End With ActiveDocument.PrintOut , Range:=wdPrintSelection With ActiveDocument.PageSetup With .LineNumbering .Active = True .StartingNumber = 1 End With End With GetOut: End Sub
Sử dụng macro này giả định rằng bạn tra cứu số dòng bắt đầu của lựa chọn trước khi thực sự in. Điều này có thể được thực hiện bằng cách sử dụng tính năng Xem trước khi in của Word, nhưng có thể trở nên mệt mỏi sau một thời gian. Nếu bạn thực hiện khá nhiều thao tác in lựa chọn, macro sau sẽ được bạn quan tâm nhiều hơn. Nó phức tạp hơn, nhưng nó sẽ tự động xác định số dòng thích hợp để sử dụng khi bắt đầu vùng chọn, sau đó in vùng chọn.
Sub Correct_Line_Numbers() Dim myRng As Range Dim StartRng As Range Dim iCount As Integer 'if you include the paragraph mark in your selection, then Word 'prints the subsequent line number; not the entire line, just the 'line number; therefore, if the last character of the current 'selection is a paragraph mark, then move the end position of 'the selection to the left by one character If Selection.Characters.Last = Chr(13) Then Selection.MoveEnd Count:=-1 End If 'set the current selection to a variable Set myRng = Selection.Range 'set the start of the document to a variable Set StartRng = ActiveDocument.Paragraphs(1).Range With Selection 'go to the beginning of the line for the current selection and 'set the iCount variable so that it counts the current line .HomeKey unit:=wdLine iCount = 1 'if the cursor is not at the beginning of the document 'then move the cursor up by one line 'increment iCount by one each time the cursor is not at 'the beginning of the document While Not Selection.InRange(StartRng) .MoveUp unit:=wdLine iCount = iCount + 1 'if the cursor is in a table, then the macro should 'reduce iCount; Word counts an entire table as one line If Selection.Rows.Count > 0 Then iCount = iCount - 1 End If Wend End With 'reset the starting line number so that it equals the 'number of times the cursor was moved up by a line ActiveDocument.PageSetup.LineNumbering.StartingNumber = iCount 'reselect the original selection myRng.Select 'print out only the original selection ActiveDocument.PrintOut Range:=wdPrintSelection 'reset the line number(by "undoing" the last two actions '[fields update and change line number]) 'so that line numbering begins at one ActiveDocument.Undo ActiveDocument.Undo 'reselect the original selection myRng.Select End Sub
Có một cảnh báo với macro này. Nếu bạn có văn bản ẩn trong tài liệu của mình và văn bản ẩn đó được hiển thị nhưng không được thiết lập để in ra, thì macro này vẫn đếm những dòng văn bản đó như thể chúng sẽ in. Nói cách khác, macro giả định rằng bạn đang in văn bản ẩn nếu bạn để nó hiển thị trên màn hình.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên các trang WordTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
WordTips là nguồn của bạn để đào tạo Microsoft Word hiệu quả về chi phí.
(Microsoft Word là phần mềm xử lý văn bản phổ biến nhất trên thế giới.) Mẹo này (8520) áp dụng cho Microsoft Word 2007, 2010 và 2013.
Bạn có thể tìm phiên bản của mẹo này cho giao diện menu cũ hơn của Word tại đây: