Conversione di numeri in testo (Microsoft Word)
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: