テキストへの数字、3つを取る(100万以上)(Microsoft Word)
_WordTips_の以前の号では、マクロを使用して数値を単語に変換する方法を学びました。たとえば、123を123に変換できます。このマクロの以前の化身は、100万未満の数に制限されていました。このバージョンでは、アンティが1000回アップされています。このバージョンの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を実行すると、マクロは選択された数が100万を超えているかどうかを確認します。そうである場合は、最初に100万を超える部分で機能し、単語に変換します。次に、100万未満の値が変換されます。最終的な完全な文言がまとめられ、ドキュメントに貼り付けられて、すぐに使用できるようになります。
注:
このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(1442)は、Microsoft Word 97、2000、2002、および2003に適用されます。