Word中数字金额小写“变”大写有两招.doc

Word中数字金额小写“变”大写有两招.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Word中数字金额小写“变”大写有两招

Word中数字金额小写“变”大写有两招在日常的办公应用中,尤其是作为一名财务人员,经常需要输入大写金额的形式的数字,“肆仟叁佰五拾元零伍分”,如果用手工输入的话,显得比较麻烦,其实只要通过输入小写数字并通过如下两招就能达到快速输入的目的。 ????第一招:釜底抽薪——自动更正法 ????如果需要重复的输入一个大写数字金额,可以采用自动更正的方法。例如要重复输入“肆仟叁佰伍拾元零伍分”,可以先输入“肆仟叁佰伍拾元零伍分”并选中它,然后执行菜单“工具→自动更正选项”打开“自动更正”对话框(图1),在“替换”下的框内输入“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,

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档