Ci sono momenti in cui è necessario compitare i numeri. Ad esempio, potresti scrivere “1234” come “milleduecentotrentaquattro”.

Word non ha una funzione incorporata che eseguirà la conversione per te, quindi sei lasciato a creare una macro che gestirà la conversione.

La seguente macro, BigCardText, convertirà qualsiasi numero compreso tra 0 e 999.999.999. Per usarlo, posiziona semplicemente il punto di inserimento all’interno del numero che desideri convertire o appena a destra del numero (se si tratta di una singola cifra).

Sub BigCardText()

Dim sDigits As String     Dim sBigStuff As String

sBigStuff = ""



' Select the full number in which the insertion point is located     Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdMove     Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend

' Store the digits in a variable     sDigits = Trim(Selection.Text)



If Val(sDigits) > 999999 Then         If Val(sDigits) <= 999999999 Then             sBigStuff = Trim(Int(Str(Val(sDigits) / 1000000)))

' Create a field containing the big digits and             ' the cardtext format flag             Selection.Fields.Add Range:=Selection.Range, _               Type:=wdFieldEmpty, Text:="= " + sBigStuff + " \* CardText", _               PreserveFormatting:=True

' Select the field and copy it             Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend             sBigStuff = Selection.Text & " million "

sDigits = Right(sDigits, 6)

End If     End If     If Val(sDigits) <= 999999 Then         ' Create a field containing the digits and the cardtext format flag         Selection.Fields.Add Range:=Selection.Range, _           Type:=wdFieldEmpty, Text:="= " + sDigits + " \* CardText", _           PreserveFormatting:=True

' Select the field and copy it         Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend         sDigits = sBigStuff & Selection.Text

' Now put the words in the document         Selection.TypeText Text:=sDigits         Selection.TypeText Text:=" "

Else         MsgBox "Number too large", vbOKOnly     End If End Sub

Quando si utilizza la macro, assicurarsi che il numero che si sta convertendo non contenga informazioni estranee, come i segni del dollaro o le virgole. Quando esegui BigCardText, la macro verifica se il numero selezionato è superiore a un milione. Se lo è, funziona prima sulla porzione superiore a un milione, convertendola in parole. Quindi, il valore inferiore a un milione viene convertito. Il testo finale e completo viene messo insieme e incollato di nuovo nel documento, pronto per l’uso.

_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 (203) si applica a Microsoft Word 97, 2000, 2002 e 2003. È possibile trovare una versione di questo suggerimento per l’interfaccia della barra multifunzione di Word (Word 2007 e più tardi) qui: