为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

金额大小写转换

2017-09-01 3页 doc 15KB 321阅读

用户头像

is_713593

暂无简介

举报
金额大小写转换金额大小写转换 第一招:釜底抽薪——自动更正法 如果需要重复的输入一个大写数字金额,可以采用自动更正的方法。例如要重复输入“肆仟叁佰伍拾元零伍分”,可以先输入“肆仟叁佰伍拾元零伍分”并选中它,然后执行菜单“工具?自动更正选项”打开“自动更正”对话框,在“替换”下的框内输入“4350.05”并单击“添加”按钮确定后退出,以后直接输入“4350.05”后回车即可快速得到“肆仟叁佰伍拾元零伍分”。 第二招:一劳永逸——编制自动宏 如果有许多小写金额要变成大写的话,用上面的自动更正的方法需要定义很多自动更正项,显然也比较麻烦,其...
金额大小写转换
金额大小写转换 第一招:釜底抽薪——自动更正法 如果需要重复的输入一个大写数字金额,可以采用自动更正的方法。例如要重复输入“肆仟叁佰伍拾元零伍分”,可以先输入“肆仟叁佰伍拾元零伍分”并选中它,然后执行菜单“工具?自动更正选项”打开“自动更正”对话框,在“替换”下的框内输入“4350.05”并单击“添加”按钮确定后退出,以后直接输入“4350.05”后回车即可快速得到“肆仟叁佰伍拾元零伍分”。 第二招:一劳永逸——编制自动宏 如果有许多小写金额要变成大写的话,用上面的自动更正的方法需要定义很多自动更正项,显然也比较麻烦,其实只需要编辑一个宏就能做到“一劳永逸”了。启动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 = VBA.Round(VBA.Val(.Text), 2) '四舍五入保留小数点后两位 '判断是否在表格中 If .Information(wdWithInTable) Then _ .MoveRight unit:=wdCell Else .MoveRight unit:=wdCharacter '对数据进行判断,是否在指定的范围内 If VBA.Abs(Numeric) > 2147483647 Then MsgBox "数值超过范围!", _ vbOKOnly + vbExclamation, "Warning": Exit Sub IntPart = Int(VBA.Abs(Numeric)) '定义一个正整数 Odd = VBA.IIf(IntPart = 0, "", "圆") '定义一个STRING变量 '插入中文大写前的标签 Lable = VBA.IIf(Numeric = VBA.Abs(Numeric), "人民币金额大写: ", "人民币金额大写: 负") '对小数点后面二位数进行择定 DecimalPart = (VBA.Abs(Numeric) - IntPart) * 100 Select Case DecimalPart Case Is = 0 '如果是0,即是选定的数据为整数 Oddment = VBA.IIf(Odd = "", "", Odd & "整") Case Is < 10 '<10,即是零头是分 Oddment = VBA.IIf(Odd <> "", "圆零" & VBA.Mid(ZWDX, DecimalPart, 1) & "分", _ VBA.Mid(ZWDX, DecimalPart, 1) & "分") Case 10, 20, 30, 40, 50, 60, 70, 80, 90 '如果是角整 Oddment = "圆" & VBA.Mid(ZWDX, DecimalPart / 10, 1) & "角整" Case Else '既有角,又有分的情况 Jiao = VBA.Left(CStr(DecimalPart), 1) '取得角面值 Fen = VBA.Right(CStr(DecimalPart), 1) '取得分面值 Oddment = Odd & VBA.Mid(ZWDX, Jiao, 1) & "角" '转换为角的中文大写 Oddment = Oddment & VBA.Mid(ZWDX, Fen, 1) & "分" '转换为分的中文大写 End Select '指定区域插入中文大写格式的域 Set MyField = .Fields.Add(Range:=.Range, Text:="= " & IntPart & " \*CHINESENUM2") MyField.Select '选定域(最后是用指定文本覆盖选定区域) '如果仅有角分情况下,Mychinese为"" MyChinese = VBA.IIf(MyField.Result <> "零", MyField.Result, "") .Text = Lable & MyChinese & Oddment End With End Sub 输入完毕后按下Alt+Q键返回word中,以后只需要依次选中需要转换的小写金额后,按下Alt+F8打开宏对话框,选择“小写金额变大写”宏,并单击“运行”即可快速地得出大写金额。运行该宏可以在选定的文本数据后面插入此金额大写,如果选定范围在表格中,则在右侧单元格中插入金额大写。
/
本文档为【金额大小写转换】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索