David là một giáo viên giao cho học sinh của mình một loạt khoảng 20 từ và cụm từ mà các em phải sử dụng trong một bài soạn. Mỗi từ hoặc cụm từ phải được sử dụng ít nhất một lần. Học sinh nhận được một điểm cho mỗi lần họ sử dụng một trong các từ hoặc cụm từ, mặc dù không có gì thêm cho các từ trùng lặp. David đang tìm kiếm một cách dễ dàng để đánh dấu công việc của họ, có lẽ với một macro tìm kiếm từng từ và cụm từ và tạo ra một số loại bản ghi về việc sử dụng chúng. Mong muốn của Dave là Word thực hiện việc tìm kiếm và đếm để anh ấy có thể tập trung sức lực vào việc đánh giá chất lượng của bố cục.

Nếu bạn muốn tính toán thủ công có bao nhiêu lần xuất hiện của một từ hoặc cụm từ cụ thể, bạn có thể sử dụng tính năng Tìm của Word:

  1. Nhấn Ctrl + F. Word hiển thị tab Tìm của hộp thoại Tìm và Thay thế.

  2. Trong hộp Tìm gì, hãy nhập từ hoặc cụm từ bạn muốn tìm.

  3. Bấm vào nút More, nếu nó có sẵn.

  4. Nếu bạn đang tìm kiếm một từ, hãy bấm vào hộp kiểm Chỉ Tìm Toàn bộ Từ.

  5. Bấm vào hộp kiểm Đánh dấu Tất cả Các Mục Tìm thấy.

  6. Nhấp vào Tìm tất cả.

Word hiển thị cho bạn, trong hộp thoại, có bao nhiêu lần xuất hiện của từ hoặc cụm từ của bạn. Kỹ thuật này, mặc dù tiện dụng, nhưng sẽ mất đi một số nét hấp dẫn nếu bạn cần lặp lại nó cho hai mươi từ và cụm từ trong ba mươi lăm bài soạn khác nhau của học sinh. Thật vậy, vĩ mô là một cách tiếp cận thực tế hơn.

Sẽ rất thuận tiện nếu số lần xuất hiện được hiển thị trong hộp thoại Tìm và Thay thế có thể truy cập được thông qua VBA. Theo như tôi đã có thể xác định, giá trị này không thể truy cập được. Điều đó có nghĩa là bạn phải dựa vào việc tìm kiếm và đếm lặp đi lặp lại trong macro. Một ví dụ điển hình về cách thực hiện điều này được tìm thấy trong Cơ sở Kiến thức Microsoft:

http://support.microsoft.com/kb/240157

Mã trong trang này có thể được thay đổi, tương đối dễ dàng, để tìm kiếm một loạt từ hoặc cụm từ và hiển thị tất cả kết quả cùng một lúc.

Một cách tiếp cận khá độc đáo khác là đảo ngược các giả định về sáng tác của học sinh: giả sử rằng họ sử dụng từng từ hoặc cụm từ (họ bắt đầu với điểm 20 nếu có 20 từ và cụm từ)

và chỉ trừ điểm nếu họ không sử dụng một trong số chúng.

Sub ScoreCard()

Dim iScore As Integer     Dim iTopScore As Integer     Dim WordList As Variant     Dim i As Integer     Dim sUnused As String

' Enter the words or phrases in the array below;     ' each word or phrase in quotation marks and     ' separated by commas     WordList = Array("Mr.", "jelly", "wince", _       "proper", "fix", "compound", "high and dry")



' Counts the number of words in the array     iTopScore = CInt(UBound(WordList)) + 1     iScore = iTopScore

' Counts the number of "misses"

sUnused = ""

For i = 1 To iTopScore         With Selection.Find             .Forward = True             .Wrap = wdFindContinue             .Format = False             .MatchCase = False             .MatchAllWordForms = False             .MatchWholeWord = True             .Execute FindText:=WordList(i - 1)

End With         If Selection.Find.Found = False Then            iScore = iScore - 1            sUnused = sUnused & vbCrLf & WordList(i - 1)

End If     Next i

' Displays the score     If iScore = iTopScore Then         sUnused = "All words and phrases were used."

Else         sUnused = "The following words and phrases" & _           " were not used:" & sUnused     End If     sUnused = vbCrLf & vbCrLf & sUnused     MsgBox Prompt:="The score is " & iScore & _       " of " & iTopScore & sUnused, Title:="What's the Score?"

End Sub

Macro hiển thị điểm cho bố cục và cũng hiển thị bất kỳ từ hoặc cụm từ nào không được sử dụng trong bố cục.

_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 (333) áp dụng cho Microsoft Word 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Word (Word 2007 và sau này) tại đây: