ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 413191246se

[分享] Word2003 & 2007 VBA 通用模板宏(2020元旦版) 2019-10-17

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-19 00:35 | 显示全部楼层
* 楼主 的意思,正与我的猜想一致!请试试下面的代码:(请注意:粉红色是为了鲜明核对数据,如果不想要颜色,可以将代码倒数第8行含有“粉红”一行代码删除或屏蔽)
  1. Sub 人民币中文大写_金额大写()

  2.     ActiveDocument.Content.Find.Execute "金额大写:", , , 1, , , , , , "金额大写:", 2

  3.     Const s As String = "万仟佰拾亿仟佰拾万仟佰拾元角分"

  4.     Dim c&, i$, j&, a$, n&

  5.     c = 0

  6.     With ActiveDocument.Content.Find
  7.         .ClearFormatting
  8.         .Text = "金额大写:[0-9.  ^s^t,,]{1,}"
  9.         .Forward = True
  10.         .MatchWildcards = True
  11.         Do While .Execute
  12.             With .Parent
  13.                 .MoveStart 1, 5

  14.                 i = .Text

  15.                 i = Replace(i, " ", "")
  16.                 i = Replace(i, " ", "")
  17.                 i = Replace(i, vbTab, "")
  18.                 i = Replace(i, ChrW(160), "")
  19.                 i = Replace(i, ",", "")
  20.                 i = Replace(i, ",", "")

  21.                 If i Like "*.*.*" Then .Font.Color = wdColorRed: GoTo sk

  22.                 i = Format(i, "Standard")
  23.                 i = Replace(i, ",", "")
  24.                 i = Replace(i, ".", "")

  25.                 j = Len(i)

  26.                 If j > 15 Then GoTo sk

  27.                 a = ""

  28.                 For n = 1 To j
  29.                     a = a & Mid(i, n, 1) & Mid(s, 15 - j + n, 1)
  30.                 Next n

  31.                 a = Replace(a, "1", "壹")
  32.                 a = Replace(a, "2", "贰")
  33.                 a = Replace(a, "3", "叁")
  34.                 a = Replace(a, "4", "肆")
  35.                 a = Replace(a, "5", "伍")
  36.                 a = Replace(a, "6", "陆")
  37.                 a = Replace(a, "7", "柒")
  38.                 a = Replace(a, "8", "捌")
  39.                 a = Replace(a, "9", "玖")
  40.                 a = Replace(a, "0", "零")
  41. '''
  42.                 a = Replace(a, "零仟", "零")
  43.                 a = Replace(a, "零佰", "零")
  44.                 a = Replace(a, "零拾", "零")

  45.                 Do While a Like "*零零*"
  46.                     a = Replace(a, "零零", "零")
  47.                 Loop

  48.                 a = Replace(a, "零亿", "亿零")
  49.                 a = Replace(a, "零万", "万零")
  50.                 a = Replace(a, "零元", "元零")

  51.                 Do While a Like "*零零*"
  52.                     a = Replace(a, "零零", "零")
  53.                 Loop

  54.                 a = Replace(a, "零角零分", "整")
  55.                 a = Replace(a, "零角", "零")
  56.                 a = Replace(a, "零分", "")

  57.                 If a Like "元零*" Then a = Replace(a, "元零", "")
  58.                 If a = "元整" Then a = "零" & a

  59.                 If a Like "*万零元*" And Val(a) < 100000000 Then a = Replace(a, "万零元", "万元") '10万<=X<1亿
  60.                 a = Replace(a, "亿万", "亿")

  61.                 If a Like "*亿零万*" Then a = Replace(a, "零万", "") '>=10亿
  62. '''
  63.                 If c = 1 Then
  64.                     .InsertBefore Text:="(人民币" & a & ")"
  65.                 Else
  66.                     .Delete
  67.                     .InsertAfter Text:=a
  68.                     .Font.Color = wdColorPink '粉红(本行代码可删除/屏蔽)
  69.                 End If
  70. sk:
  71.                 .Start = .End
  72.             End With
  73.         Loop
  74.     End With
  75. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2020-5-19 09:59 | 显示全部楼层
413191246se 发表于 2020-5-19 00:35
* 楼主 的意思,正与我的猜想一致!请试试下面的代码:(请注意:粉红色是为了鲜明核对数据,如果不想要颜 ...

真的非常感谢楼主,结果差不多就是这样的.  再次感谢.

TA的精华主题

TA的得分主题

发表于 2020-5-19 11:01 | 显示全部楼层
413191246se 发表于 2020-5-19 00:35
* 楼主 的意思,正与我的猜想一致!请试试下面的代码:(请注意:粉红色是为了鲜明核对数据,如果不想要颜 ...

楼主, 目前测试的时候出现了BUG. 就是有些改了,有些没改.不知道哪里的问题.

TA的精华主题

TA的得分主题

发表于 2020-5-19 14:33 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2020-5-19 17:49 | 显示全部楼层
楼主,我用的是office365 根据Word2007 快速访问工具栏说明,并没有找到Word.qat文件 ,不知道要怎么设置工具栏

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-19 22:45 | 显示全部楼层
* lwm123138 朋友:Office2019 已经改了,快速访问工具栏-路径:
     C:\Users\lncyg\AppData\Local\Microsoft\Office\Word.officeUI
  Office365 也许与 Office2019 相同!就是快速访问工具栏已经不再保存在 Word.qat 中,而是保存在 Word.officeUI 中,找到并删除此文件也可以,可直接在 Word 中对不喜欢的按钮删除、对喜欢的按钮添加即可;当然如果找到此文件,可以在使用一段时间后将其备份。

* sinc4233 朋友:你说的“有些改了,有些未改”什么意思?改了的是因为前面有“金额大写:”这5个字符,没改的当然是前面没有“金额大写:”这5个字符。如果你认为仍然不对,请将附件传上来,或粘贴到帖子中也可。

TA的精华主题

TA的得分主题

发表于 2020-5-20 08:58 | 显示全部楼层
sinc4233 发表于 2020-5-19 11:01
楼主, 目前测试的时候出现了BUG. 就是有些改了,有些没改.不知道哪里的问题.

目前发现出现BUG的是WPS版本, 会有个别不会替换掉, 我自己的office还没发现,不知道是哪里的原因.

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-25 23:06 | 显示全部楼层
不建议使用 WPS,因为要想玩 VBA,还是 Office 稳妥。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-6-11 23:21 | 显示全部楼层
* 对付一般小文章,可以试试本人的宏代码,F8 公文排版,F7 普通排版,一键自动排版,速度极快。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-7-4 00:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
各位朋友,以往的旧帖,请不要观看和下载了,本帖是目前最新版本,请下载本帖的压缩包。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-6 15:29 , Processed in 0.030146 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表