举个例子来说:楼主想要把 123456 变成
壹拾贰万参仟肆佰伍拾陆 还是 壹拾贰万叁仟肆佰伍拾陆 或者一十二万三千四百五十六 这样“有单位”的形式,还是变成 壹贰参肆伍陆 这样没有单位的形式?
有单位的形式,使用插入-编号 更改即可(里面有各种选择)。
----------------
输入完后就显示大写?自动更正选项试试看合适么?自动更正不能显示“单位”
如果有小数位的,还是建议在excel里面处理。单元格设置为 特殊(中文大写数字)格式后,“输入完数字后就自动转换成大写”
1、Alt+F11打开VBA编辑窗口,然后选择菜单项“插入-模块”;
2、在编辑区中粘贴如下代码:
Sub ConvertAllNumbers()
Selection.Find.ClearFormatting
While Selection.Find.Execute(FindText:="^#", ReplaceWith:="^&", MatchWildcards:=False, Forward:=True, Wrap:=Word.wdFindContinue)
Selection.MoveRight wdWord, 1, wdExtend
Selection.Fields.Add Range:=Selection.Range, Text:="=" & Selection.Text & " \* CHINESENUM3"
Selection.MoveLeft wdWord, 1, wdExtend
Selection.Text = Selection.Fields(1).Result
Selection.Collapse wdCollapseEnd
Wend
MsgBox "完成!"
End Sub
3、键入F5,运行看到“完成!”。
4、切换回Word文档窗口检查是否所有数字都已转换为中文数字。
菜单栏,插入-数字
选一下大写,输入数字。
确定
2003版测试过
这个呀是不是考虑可以使用自动更正的功能做这一块。
当然VBA程序可以做得很好,但我个人喜欢用软件自带的功能。
这个问题用VBA解决是最好的方法。
看了1楼的代码,的确不错;但是我觉得楼主应该再把问题及要求说具体一些,就只是把文档里面的所有阿拉伯数字转换为中文大写就可以了吗?还是小写金额转换为大写金额?文档中除了一些小写数字,是否还有小写的日期?等等问题都值得考虑。
把这些明确了,写出的代码才会尽可能的适用。
菜单:插入->域,域代码。输入=12546.25\* chinesenum2