Nei numeri precedenti di WordTips hai imparato a usare una macro per convertire i numeri in parole. Ad esempio, puoi convertire 123 in centoventitre. Le precedenti incarnazioni di questa macro erano limitate a numeri inferiori a un milione. In questa versione, la posta è stata aumentata mille volte: questa versione della macro VBA convertirà con successo i numeri fino a 999.999.999.

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

Dovresti capire che per utilizzare la macro, tutto ciò che devi fare è posizionare il punto di inserimento ovunque all’interno del numero che desideri convertire. È necessario assicurarsi, tuttavia, che il numero non contenga informazioni estranee, come segni di dollaro o 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 (1442) si applica a Microsoft Word 97, 2000, 2002 e 2003.