Creazione automatica di un elenco di acronimo (Microsoft Word)
Karl lavora in un’occupazione che utilizza molti acronimi. La loro procedura standard consiste nel definire l’acronimo solo la prima volta che viene utilizzato all’interno del documento. Inoltre, devono sempre creare un’appendice, alla fine del documento, che elenca gli acronimi in ordine alfabetico insieme al loro significato. Karl sta cercando un modo per “marcare”
l’acronimo nel corpo principale e l’appendice dell’acronimo viene creato automaticamente.
Non è possibile eseguire questa operazione direttamente in Word. Esistono diversi tipi di tabelle che è possibile creare automaticamente, come sommari, sommari e indici. Queste ultime due tabelle (tabelle di autorità e indici) potrebbero eventualmente essere utilizzate per creare l’elenco degli acronimi, ma solo se non sono già state aggiunte al documento e solo se non ti dispiace l’elenco degli acronimi che include i numeri di pagina.
Se desideri utilizzare lo strumento tabella delle autorità per creare un elenco di acronimi, Shauna Kelly ha messo insieme un ottimo articolo su come farlo. L’articolo parla specificamente di glossari, che essenzialmente sarebbe un elenco di acronimi.
http://www.ShaunaKelly.com/word/glossary/glossary.html
Se vuoi utilizzare lo strumento indice per creare la tua lista, puoi seguire questi passaggi generali, assumendo che l’acronimo, quando definito, sia seguito dal suo significato tra parentesi:
-
Seleziona l’acronimo e il suo significato. Ciò significa che trovi la prima istanza dell’acronimo nel tuo documento e quindi seleziona quell’acronimo insieme al significato tra parentesi che lo segue.
-
Premere Alt + Maiusc + X per contrassegnare il testo selezionato per l’indice.
-
Ripeti i passaggi 1 e 2 per gli altri acronimi che desideri nell’elenco.
-
Alla fine del documento, inserisci il tuo indice. Come inserire effettivamente un indice è stato trattato in altri numeri di WordTips.
Noterai che questo approccio lascia le parentesi nel tuo indice. Se non vuoi le parentesi, dovrai andare su ogni acronimo che hai contrassegnato e visualizzare il codice di campo utilizzato per l’indice. Assomiglierà a questo:
{ XE "abbrev (this is the definition)" }
All’interno del codice di campo è possibile rimuovere le parentesi in modo che il testo appaia esattamente come si desidera che appaia nell’elenco degli acronimi. Se si utilizza il metodo sopra per contrassegnare solo la prima istanza dell’acronimo, dove è stato definito per la prima volta, ci sarà un singolo numero di pagina per ogni acronimo nell’elenco. Se ti piace l’idea di avere i numeri di pagina, ma li vuoi per tutte le istanze di ogni acronimo, dovrai contrassegnare ogni occorrenza degli acronimi, un’attività molto più complessa.
Se preferisci non utilizzare nessuno dei metodi già descritti, potresti creare una macro che ti aiuterà a creare il tuo elenco di acronimi. La macro seguente copia essenzialmente il testo che hai evidenziato alla fine del documento.
Sub Send_2_acronym_list() With ActiveDocument.Bookmarks .Add Range:=Selection.Range, Name:="xxxHERExxx" .DefaultSorting = wdSortByName .ShowHidden = True End With Selection.Copy Selection.EndKey Unit:=wdStory Selection.TypeParagraph Selection.PasteAndFormat (wdPasteDefault) Selection.GoTo What:=wdGoToBookmark, Name:="xxxHERExxx" Application.Run MacroName:="Normal.MoreNewMacros.EditGoTo" Selection.MoveRight Unit:=wdCharacter, Count:=1 End Sub
L’idea è quella di selezionare la prima istanza dell’acronimo, insieme alla sua definizione, e quindi richiamare la macro. Un segnalibro viene impostato nella posizione corrente, il testo viene copiato, viene selezionata la fine del documento e il testo aggiunto lì. Quindi il segnalibro viene utilizzato in modo che la posizione originale possa essere nuovamente selezionata.
Quando hai finito di “contrassegnare” i tuoi acronimi in questo modo, puoi selezionare il testo che è stato copiato alla fine del documento e formattarlo (o modificarlo) nel modo desiderato.
Se desideri un approccio ancora più automatizzato, potresti essere in grado di creare una macro che scansionerà il tuo documento ed estrarrà gli acronimi che trova. Affinché un approccio come questo funzioni, dovrai assicurarti di seguire religiosamente una struttura rigida per i tuoi acronimi e le loro definizioni. La seguente macro presuppone che l’acronimo sarà sempre una stringa di lettere maiuscole seguita da uno spazio e poi un testo tra parentesi.
Sub ListAcronyms() Dim strAcronym As String Dim strDefine As String Dim strOutput As String Dim newDoc As Document Application.ScreenUpdating = False Selection.HomeKey Unit:=wdStory ActiveWindow.View.ShowHiddenText = False 'Loop to find all acronyms Do 'Search for acronyms using wildcards Selection.Find.ClearFormatting With Selection.Find .ClearFormatting .Text = "<[A-Z]@[A-Z]>" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = False .MatchCase = True .MatchWildcards = True .MatchWholeWord = True .Execute End With 'Only process if something found If Selection.Find.Found Then 'Make a string from the selection, add it to the 'output string strAcronym = Selection.Text 'Look for definition Selection.MoveRight Unit:=wdWord Selection.MoveRight Unit:=wdCharacter, _ Extend:=wdExtend strDefine = "" If Selection.Text = "(" Then While Selection <> ")" strDefine = strDefine & Selection.Text Selection.Collapse Direction:=wdCollapseEnd Selection.MoveRight Unit:=wdCharacter, _ Extend:=wdExtend Wend End If Selection.Collapse Direction:=wdCollapseEnd If Left(strDefine, 1) = "(" Then strDefine = Mid(strDefine, 2, Len(strDefine)) End If If strDefine > "" Then 'Check if the search result is in the Output string 'if it is, ignore the search result If InStr(strOutput, strAcronym) = 0 Then strOutput = strOutput & strAcronym _ & vbTab & strDefine & vbCr End If End If End If Loop Until Not Selection.Find.Found 'Create new document and change active document Set newDoc = Documents.Add 'Insert the text Selection.TypeText Text:=strOutput 'Sort it newDoc.Content.Sort SortOrder:=wdSortOrderAscending Application.ScreenUpdating = True Selection.HomeKey Unit:=wdStory End Sub
La macro cerca nel documento tutto ciò che pensa possa essere un acronimo. Se trova un candidato, lo segue per vedere se è seguito da una parentesi aperta. In tal caso, tutto fino alla parentesi di chiusura è considerato la definizione dell’acronimo. Una volta che la macro ha finito di esaminare il documento, crea un nuovo documento, aggiunge lì gli acronimi e quindi li ordina tutti.
_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 (10935) si applica a Microsoft Word 2007 e 2010. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Word qui: