David è un insegnante che assegna ai suoi studenti una serie di circa venti parole e frasi che devono usare in una composizione. Ogni parola o frase deve essere utilizzata almeno una volta. Gli studenti ottengono un punto per ogni volta che usano una delle parole o frasi, anche se niente in più per i duplicati. David sta cercando un modo semplice per contrassegnare il loro lavoro, magari con una macro che cerca ogni parola e frase e crea una sorta di registrazione del loro utilizzo. Il desiderio di Dave è che Word faccia la ricerca e il conteggio in modo che possa concentrare la sua energia sulla valutazione della qualità della composizione.

Se vuoi capire manualmente quante occorrenze ci sono di una particolare parola o frase, puoi usare la funzione Trova di Word. Segui questi passaggi se stai usando Word 2007:

  1. Premi Ctrl + F. Word visualizza la scheda Trova della finestra di dialogo Trova e sostituisci.

  2. Nella casella Trova, inserisci la parola o la frase che desideri trovare.

  3. Fare clic sul pulsante Altro, se disponibile.

  4. Se stai cercando una singola parola, fai clic sulla casella di controllo Trova solo parole intere.

  5. Fare clic sulla casella di controllo Evidenzia tutti gli elementi trovati.

  6. Fare clic su Trova tutto.

Word ti mostra, nella finestra di dialogo, quante occorrenze ha individuato della tua parola o frase. Puoi trovare i conteggi desiderati ancora più velocemente se stai usando Word 2010 o Word 2013:

  1. Premi Ctrl + F. Word visualizza il riquadro attività di navigazione sul lato sinistro dello schermo. Nel riquadro è selezionata la scheda Sfoglia.

  2. Se stai cercando una sola parola, fai clic sulla freccia in giù a destra del piccolo pulsante della lente di ingrandimento e scegli Opzioni. Nella finestra di dialogo Opzioni scegliere Trova solo parole intere.

  3. Nella casella nella parte superiore del pannello di navigazione, inserisci la parola o la frase per la quale desideri trovare e premi Invio.

Word mostra, nella parte superiore del riquadro attività Navigazione, quante occorrenze ha individuato della tua parola o frase.

Queste tecniche, sebbene pratiche, perdono un po ‘del loro fascino se è necessario ripeterle per venti parole e frasi in trentacinque diverse composizioni studentesche. In effetti, una macro è un approccio più pratico.

Sarebbe molto conveniente se il numero di occorrenze visualizzate nella finestra di dialogo Trova e sostituisci fosse accessibile tramite VBA. Per quanto ho potuto determinare, questo valore non è accessibile. Ciò significa che devi fare affidamento sulla ricerca e sul conteggio ripetuti nella macro stessa. Un buon esempio di come questo può essere fatto si trova nella Microsoft Knowledge Base:

http://support.microsoft.com/?kbid=240157

La pagina indica che il codice è per Word 2000, ma funzionerà perfettamente con Word 2007 e Word 2010. Il codice in questa pagina può essere modificato, in modo relativamente semplice, per cercare una serie di parole o frasi e visualizzare tutti i risultati subito. Un altro approccio piuttosto unico è quello di invertire le ipotesi sulle composizioni degli studenti: supponi che usino ciascuna delle parole o frasi (iniziano con un punteggio di 20 se ci sono venti parole e frasi) e sottragga solo punti se non usano uno di loro.

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

La macro mostra un punteggio per la composizione e mostra anche le parole o le frasi che non sono state utilizzate nella composizione.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (9261) si applica a Microsoft Word 2007, 2010 e 2013.

Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Word qui: