文档介绍:Word中数字金额小写“变”大写有两招
在日常的办公应用中,尤其是作为一名财务人员,经常需要输入大写金额的形式的数字,“肆仟叁佰五拾元零伍分”,如果用手工输入的话,显得比较麻烦,其实只要通过输入小写数字并通过如下两招就能达到快速输入的目的。
    第一招:釜底抽薪——自动更正法
    如果需要重复的输入一个大写数字金额,可以采用自动更正的方法。例如要重复输入“肆仟叁佰伍拾元零伍分”,可以先输入“肆仟叁佰伍拾元零伍分”并选中它,然后执行菜单“工具→自动更正选项”打开“自动更正”对话框(图1),在“替换”下的框内输入“”并单击“添加”按钮确定后退出,以后直接输入“”后回车即可快速得到“肆仟叁佰伍拾元零伍分”。
    第二招:一劳永逸——编制自动宏
    如果有许多小写金额要变成大写的话,用上面的自动更正的方法需要定义很多自动更正项,显然也比较麻烦,其实只需要编辑一个宏就能做到“一劳永逸”了。启动Word后按下A lt+F11组合键,在打开的工程窗口左侧双击“ThisDocument”进入代码编写窗口,在代码编辑窗口中输入如下代码:
Option Explicit
Sub 小写金额变大写()
  Dim Numeric As Currency, IntPart As Long, DecimalPart As Byte, MyField As Field, Lable As String
  Dim Jiao As Byte, Fen As Byte, Oddment As String, Odd As String, MyChinese As String
  Const ZWDX As String = "壹贰叁肆伍陆柒捌玖零"   '定义一个中文大写汉字常量
 
 On Error Resume Next   '错误忽略
  With Selection
    Numeric = ((.Text), 2)   '四舍五入保留小数点后两位
    '判断是否在表格中
    If .Information(wdWithInTable) Then _
.MoveRight unit:=wdCell Else .MoveRight unit:=wdCharacter
    '对数据进行判断,是否在指定的范围内
    If (Numeric) > 2147483647 Then MsgBox "数值超过范围!", _
                                  vbOKOnly + vbExclamation, "Warning": Exit Sub
    IntPart = Int((Numeric))   '定义一个正整数
    Odd = (IntPart = 0, "", "元")   '定义一个STRING变量
    '插入中文大写前的标签
    Lable = (Numeric = (Numeric), "人民币金额大写: ", "人民币金额大写: 负")
    '对小数点后面二位数进行择定
    DecimalPart