Đếm ký tự trong hộp văn bản (Microsoft Word)
Nếu bạn có tài liệu bao gồm văn bản trong các hộp văn bản khác nhau, bạn nên hiểu rằng nếu bạn thực hiện đếm từ, Word sẽ không bao gồm các từ trong hộp văn bản trong số từ mà nó trả về. Nếu bạn chỉ muốn biết số lượng từ trong hộp văn bản, có một cách để giải quyết vấn đề này:
Chỉ cần chọn hộp văn bản có các từ bạn muốn đếm trước khi bắt đầu chức năng Đếm Từ. Word sau đó chỉ đếm các từ trong hộp văn bản một cách cẩn thận, bỏ qua phần còn lại của tài liệu.
Tuy nhiên, có một lúc kỹ thuật chọn-trước-đếm này sẽ không hoạt động. Nếu bạn có nhiều hộp văn bản chứa các từ và các hộp văn bản đó được nhóm lại, thì chức năng Đếm Từ sẽ không nhận dạng chúng là “đếm được” nếu bạn chọn nhóm. Nói cách khác, để đếm các ký tự trong các hộp văn bản tạo thành nhóm, trước tiên bạn phải hủy nhóm và sau đó đếm từng hộp văn bản.
Rõ ràng, điều này có thể trở nên tẻ nhạt khi làm đi làm lại. Một cách giải quyết vấn đề này là sử dụng macro thực hiện các bước tương tự cho bạn.
Macro sau, TextBoxCount, từng bước qua tất cả các hình dạng trong tài liệu của bạn. Nếu chúng được nhóm lại, thì chúng sẽ tự động được hủy nhóm. Sau đó, nó thực hiện đếm từ trên mỗi hộp văn bản và trả về hộp thoại cho biết số từ và ký tự trong các hộp văn bản (gọi chung) và số từ và ký tự trong toàn bộ tài liệu, bao gồm cả các hộp văn bản.
Sub TextBoxCount() Dim lngTBWords As Long Dim lngTBChars As Long Dim lngDocWords As Long Dim lngDocChars As Long Dim shpTemp As Shape Dim wcTemp As Dialog Dim bDone As Boolean Application.ScreenUpdating = False Do bDone = True For Each shpTemp In ActiveDocument.Shapes If shpTemp.Type = msoGroup Then shpTemp.Ungroup bDone = False End If Next shpTemp Loop Until bDone 'Get count in main document Selection.HomeKey Unit:=wdStory Set wcTemp = Dialogs(wdDialogToolsWordCount) wcTemp.Update wcTemp.Execute lngDocWords = wcTemp.Words lngDocChars = wcTemp.Characters 'Step through shapes and add counts lngTBWords = 0 lngTBChars = 0 For Each shpTemp In ActiveDocument.Shapes shpTemp.Select wcTemp.Execute lngTBWords = lngTBWords + wcTemp.Words lngTBChars = lngTBChars + wcTemp.Characters Next shpTemp lngDocWords = lngDocWords + lngTBWords lngDocChars = lngDocChars + lngTBChars Application.ScreenUpdating = True MsgBox Str(ActiveDocument.Shapes.Count) _ & " text boxes found with" & vbCr _ & Str(lngTBWords) & " word(s) and" & vbCr _ & Str(lngTBChars) & " characters" & vbCr & vbCr _ & " In the total document there are" & vbCr _ & Str(lngDocWords) & " word(s) and" & vbCr _ & Str(lngDocChars) & " characters" End Sub
Hãy nhớ rằng macro này bỏ nhóm bất kỳ nhóm nào đã thực hiện trước đó trong tài liệu. Vì lý do này, bạn có thể muốn chạy macro sau khi lưu tài liệu của mình và sau đó hủy tài liệu (tải lại từ đĩa) sau khi đã đếm xong.
_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 (1839) áp dụng cho Microsoft Word 97, 2000, 2002 và 2003.