Số lượng từ cho đầu trang và chân trang (Microsoft Word)
Kate chỉ cần tạo ra một số lượng từ cho đầu trang và chân trang trong một tài liệu, và cô ấy không biết làm thế nào để làm như vậy.
Không có cách tự động nào để làm điều đó, nhưng bạn có thể phát triển một macro sẽ tính toán số lượng. VBA cho phép bạn dễ dàng xem qua các tiêu đề trong mỗi phần của tài liệu và sau đó bạn có thể xác định có bao nhiêu từ trong mỗi tiêu đề. Một cách tiếp cận là sử dụng macro như sau:
Sub CntHeaderWords() Dim s As Section Dim h As HeaderFooter Dim sRaw As String Dim Cnt As Long Dim J As Integer Cnt = 0 For Each s In ActiveDocument.Sections For Each h In s.Headers For J = 1 To h.Range.Words.Count sRaw = h.Range.Words(J) sRaw = Trim(sRaw) If sRaw = vbCrLf Then sRaw = "" If sRaw = vbCr Then sRaw = "" If sRaw = vbLf Then sRaw = "" If Len(sRaw) > 0 Then Cnt = Cnt + 1 Next J Next h Next s MsgBox Cnt & " words in headers" End Sub
Khi bạn chạy macro này, macro sẽ chuyển qua từng phần trong tài liệu và sau đó là từng tiêu đề trong phần đó. Số lượng từ được xác định cho mỗi tiêu đề và nó được thêm vào biến Cnt. Khi macro hoàn tất, macro sẽ hiển thị số từ cho các tiêu đề của tài liệu.
Có một số điều thú vị cần lưu ý về macro này.
Đầu tiên, vì bạn có thể xác định thuộc tính Đếm cho bộ sưu tập Từ cho mỗi tiêu đề, bạn có thể nghĩ rằng bạn có thể chỉ cần thêm tất cả các số đó lại với nhau để xác định tổng số từ của mình. Vấn đề là ngay cả khi không có tiêu đề cho một phần, Word sẽ trả về số từ là 1 cho tiêu đề “ngụ ý”. Đó là lý do tại sao macro thực sự kiểm tra từng từ trong tiêu đề và nếu nó không là gì ngoài ký tự xuống dòng hoặc nguồn cấp dữ liệu dòng, thì nó không được bao gồm trong số lượng.
Một mục khác cần lưu ý là nếu bạn có bất kỳ dấu câu nào trong tiêu đề của mình, thì mỗi dấu câu được tính là một từ. Ví dụ: nếu bạn có tiêu đề “Mọi quyền được bảo lưu”, Word sẽ coi đó là ba từ. Nếu tiêu đề là “Mọi quyền được bảo lưu.” (với dấu chấm), thì Word coi đó là bốn từ. Kết quả là nếu bạn nghĩ rằng có thể có dấu chấm câu trong tiêu đề của mình, thì bạn có thể muốn điều chỉnh mã macro để không đếm dấu câu.
Macro này chỉ trả về số lượng từ cho các tiêu đề trong tài liệu. Nếu bạn muốn, thay vào đó, số lượng từ cho cả đầu trang và chân trang, thì bạn có thể điều chỉnh macro theo cách này:
Sub CntHFWords() Dim s As Section Dim h As HeaderFooter Dim f As HeaderFooter Dim sRaw As String Dim HdCnt As Long Dim FtCnt As Long Dim J As Integer HdCnt = 0 FtCnt = 0 For Each s In ActiveDocument.Sections For Each h In s.Headers For J = 1 To h.Range.Words.Count sRaw = h.Range.Words(J) sRaw = Trim(sRaw) If sRaw = vbCrLf Then sRaw = "" If sRaw = vbCr Then sRaw = "" If sRaw = vbLf Then sRaw = "" If Len(sRaw) > 0 Then HdCnt = HdCnt + 1 Next J Next h For Each f In s.Footers For J = 1 To f.Range.Words.Count sRaw = f.Range.Words(J) sRaw = Trim(sRaw) If sRaw = vbCrLf Then sRaw = "" If sRaw = vbCr Then sRaw = "" If sRaw = vbLf Then sRaw = "" If Len(sRaw) > 0 Then FtCnt = FtCnt + 1 Next J Next f Next s sRaw = "Header words: " & HdCnt & vbCrLf sRaw = sRaw & "Footer words: " & FtCnt & vbCrLf sRaw = sRaw & "Total words: " & HdCnt + FtCnt MsgBox sRaw End Sub
Phiên bản này của macro áp dụng cùng một kỹ thuật đếm cho từng chân trang như đối với từng đầu trang, hiển thị số đếm riêng lẻ và tổng số ở cuối macro.
_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 (10285) áp dụng cho Microsoft Word 2007, 2010 và 2013.