В предыдущих выпусках WordTips вы узнали, как использовать макрос для преобразования чисел в слова. Например, вы можете преобразовать 123 в сто двадцать три. Предыдущие воплощения этого макроса были ограничены числами ниже миллиона. В этой версии ставка была увеличена в тысячу раз — эта версия макроса VBA успешно преобразует числа до 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

Вы должны понимать, что для использования макроса все, что вам нужно сделать, это поместить точку вставки в любое место внутри числа, которое вы хотите преобразовать. Однако необходимо убедиться, что номер не содержит посторонней информации, например знаков доллара или запятых. Когда вы запускаете BigCardText, макрос проверяет, не превышает ли выбранное число один миллион. Если это так, он сначала работает с частью, превышающей миллион, преобразовывая ее в слова. Затем преобразуется значение меньше миллиона. Окончательная, полная формулировка собирается и вставляется обратно в документ, готовый к использованию.

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (1442) применим к Microsoft Word 97, 2000, 2002 и 2003.