Numeri in testo, prendi tre (più di un milione) (Microsoft Word)
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.