ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: weiguoyin868

[求助] 一个WORD文档中,文本框自动编号问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-6-26 17:01 | 显示全部楼层
原帖由 weiguoyin868 于 2009-6-24 20:19 发表
这两天,经过研究分析,WORD文档中,文本框自动编号已经初步解决。我使用录制宏的方法,把基本的对象结构理解清楚了。WORD文档中每一个文本框就是一个Document.Shapes对象,该对象有名称,也有编号,名称每个都不同, ...


处理类似问题,偶还是喜欢用VBA,花点时间与代码并调试,接下来的所有事就交给电脑了。

结合楼主的例子,写了两个过程,第一个是负责把文档里所有的编号按顺序重写的,填入起始序号后会自动更新所有文本框。

第二个就是批量打印的,可以指定如“1-800”这样的范围,按下确定后就由打印机负责下面的工作了。(友情提醒:测试时把默认打印机设置成虚拟的,以便看效果,要不然浪费很多张纸我可负不了这个责任


  1. Option Explicit

  2. Sub 自动添加编号()
  3. On Error GoTo 0
  4. Application.ScreenUpdating = False
  5. Dim shpTemp As Shape, intStart%
  6. intStart = Val(InputBox("请输入编号的起始数,默认为“1”:", "输入数值", 1))
  7. For Each shpTemp In ThisDocument.Shapes
  8. shpTemp.TextFrame.TextRange.Paragraphs(3).Range = "有效期至2009年5月31日  编号:" & Format(intStart, "000")
  9. intStart = intStart + 1
  10. Next
  11. Application.ScreenUpdating = True
  12. End Sub

  13. Sub 批量打印餐券()
  14. On Error GoTo 0
  15. Application.ScreenUpdating = False
  16. Dim shpTemp As Shape, i%, j%, k%, arrNum
  17. arrNum = Split(InputBox("请输入编号的范围,如“1-125”:", "输入数值", "-"), "-")
  18. j = Val(arrNum(0))
  19. k = Val(arrNum(1))
  20. For i = j To k
  21. If (i - j) Mod 8 = 0 Then
  22.   For Each shpTemp In ThisDocument.Shapes
  23.    shpTemp.TextFrame.TextRange.Paragraphs(3).Range = "有效期至2009年5月31日  编号:" & IIf(j > k, "", Format(j, "000"))
  24.    j = j + 1
  25.   Next
  26.   ThisDocument.PrintOut
  27. End If
  28. Next
  29. Application.ScreenUpdating = True
  30. End Sub
复制代码

餐券自动加编号.rar

11.86 KB, 下载次数: 109

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2010-1-31 12:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
高手啊,谢谢~~

TA的精华主题

TA的得分主题

发表于 2010-2-4 11:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
好厉害,这也能解决!!看来学好VBA,是相当相当的有用啊

TA的精华主题

TA的得分主题

发表于 2010-2-4 17:45 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-8-5 22:16 | 显示全部楼层
原帖由 sunya_0529 于 2009-6-26 17:01 发表


处理类似问题,偶还是喜欢用VBA,花点时间与代码并调试,接下来的所有事就交给电脑了。

结合楼主的例子,写了两个过程,第一个是负责把文档里所有的编号按顺序重写的,填入起始序号后会自动更新所有文本框。
...

若要在普通的文件上递增添加编码,宏代码应该怎样修改?

TA的精华主题

TA的得分主题

发表于 2012-3-30 13:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
多谢以上各位,学习了,解决了问题

TA的精华主题

TA的得分主题

发表于 2013-1-17 17:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
好厉害,这也能解决!!看来学好VBA,是相当相当的有用啊
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-8 02:11 , Processed in 0.021836 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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