专利说明书在撰写时,如遇到附图标记过多时,往往需要手动替换各部件以增加附图标记,较为耗时,通过下述代码可对文中的所有部件快速标记,通常只需几秒。

Sub 自动增加附图标记()Dim fea(0 To 9, 0 To 9, 0 To 9) As Stringi = 1
DoWith Selection.find.Text = "[!0-9]" & i & "[!^1-^127]".ClearFormatting.Forward = True.Wrap = wdFindContinue.MatchWildcards = TrueEnd WithSelection.find.ExecuteIf Selection.find.Found And i <= 9 ThenSelection.MoveLeft Unit:=wdCharacter, Count:=1Selection.MoveRight Unit:=wdCharacter, Count:=2Selection.EndKey Unit:=wdLine, Extend:=wdExtendSelection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtendfea(i, 0, 0) = Selection.Texti = i + 1Else: i = i + 1End IfIf i = 10 ThenExit DoEnd IfLoopi = 1
j = 1
DoWith Selection.find.Text = "[!0-9]" & i & "" & j & "[!^1-^127]".ClearFormatting.Forward = True.Wrap = wdFindContinue.MatchWildcards = TrueEnd WithSelection.find.ExecuteIf Selection.find.Found And j <= 9 ThenSelection.MoveLeft Unit:=wdCharacter, Count:=1Selection.MoveRight Unit:=wdCharacter, Count:=3Selection.EndKey Unit:=wdLine, Extend:=wdExtendSelection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtendfea(i, j, 0) = Selection.Textj = j + 1Else: i = i + 1j = 1If i = 10 ThenExit DoEnd IfEnd IfLoopi = 1
j = 1
k = 1
DoWith Selection.find.Text = "[!0-9]" & i & "" & j & "" & k & "[!^1-^127]".ClearFormatting.Forward = True.Wrap = wdFindContinue.MatchWildcards = TrueEnd WithSelection.find.ExecuteIf Selection.find.Found And k <= 9 ThenSelection.MoveLeft Unit:=wdCharacter, Count:=1Selection.MoveRight Unit:=wdCharacter, Count:=4Selection.EndKey Unit:=wdLine, Extend:=wdExtendSelection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtendfea(i, j, k) = Selection.Textk = k + 1Else: j = j + 1k = 1If i = 10 ThenExit DoEnd IfIf j = 10 Theni = i + 1j = 1k = 1End IfEnd If
Loopi = 0
j = 0
Doi = i + 1If i = 10 ThenExit DoElseIf fea(i, 0, 0) <> "" And i <= 9 ThenWith Selection.find.Text = "" & fea(i, j, 0) & "".Replacement.Text = "" & fea(i, 0, 0) & i & "".ClearFormatting.Forward = True.Wrap = wdFindContinueEnd WithSelection.find.Execute Replace:=wdReplaceAllEnd If
Loopi = 0
j = 0
Doj = j + 1If j = 10 Theni = i + 1j = 0ElseIf i = 10 ThenExit DoElseIf fea(i, j, 0) <> "" And j <= 9 ThenWith Selection.find.Text = "" & fea(i, j, 0) & "".Replacement.Text = "" & fea(i, j, 0) & i & j & "".ClearFormatting.Forward = True.Wrap = wdFindContinueEnd WithSelection.find.Execute Replace:=wdReplaceAllEnd If
Loopi = 0
j = 0
k = 0
Dok = k + 1If k = 10 Thenj = j + 1k = 0ElseIf j = 10 Theni = i + 1j = 0k = 0ElseIf i = 10 ThenExit DoElseIf fea(i, j, k) <> "" And k <= 9 ThenWith Selection.find.Text = "" & fea(i, j, k) & "".Replacement.Text = "" & fea(i, j, k) & i & j & k & "".ClearFormatting.Forward = True.Wrap = wdFindContinueEnd WithSelection.find.Execute Replace:=wdReplaceAllEnd If
Loop
End Sub

上述代码总体运行过程如下:
1)先在文中查找带有附图标记的各部件,并赋值给fea()三维数组;
2)然后继续在具体实施例中根据fea()中的各元素查找所对应的附图标记名称,并增加相应的图号

注:
1)该代码还比较初级,仅能识别三位数以内的图号;
2)部件名称不得含有非中文的字符;
3)部件名称不能含有另一部件名称,否则会出错;
例如,部件21四连杆组件,则部件211不能采用四连杆或连杆等名称;
4)遇到相同部件名称可命名为第一、第二,第三……,但不能用罗马数字I,II,III,否则会出错。

使用时word的格式应为:
附图标记:\这行不能省略
1XX \各标记后必须用回车换行,否则无法识别
11xx
2YY
21第一yy
211yyg
212yyh
22第二yy
3ZZ
31zzt
32zztt

具体实施方式:
粘贴需要增加标号的内容

除了这两部分不要粘贴其他内容,除了这两部分不要粘贴其他内容,除了这两部分不要粘贴其他内容。

————————THE END——————

Word VBA自动排版(5)- 专利具体实施方式批量增加附图标记相关推荐

  1. Word VBA自动排版(6)- 专利撰写生成权利要求模板

    下述代码功能: 1.判断当前权利要求,如果为独权1则生成独权模板,如果为从权则生成从权模板,点一次宏,生成一条权利要求 2.笔者习惯显示文件的扩展名,所以在获取当前文件名称时会保留doc或docx,需 ...

  2. Word VBA自动排版(1)-新建窗口,并且设置并列分布

    就是一个通过VBA实现的word宏,代码虽然比较LOW,但是很好用. 该宏可以同时实现新建窗口.并排查看和取消同步滚动,如果需要保留同步滚动,只需在相应处进行修改即可. 兼容了doc和docx格式 代 ...

  3. Word VBA自动排版(2)-通过自动查找替换去除叠字

    叠字主要包括以下几种: 1型aabbcc 2型ababab 3型abcabcabc 4型abcdabcdabcdabcd(这个算思考题,自己根据原理增加吧) 代码原理为通过自建数组和通配符替换逐一替换 ...

  4. VBA宏实现Word论文自动排版

    一.灵感与动机 作为一名即将毕业的大四学生,不仅经历了设计.编写系统的痛苦,还经历了撰写论文的烦恼,尤其是最后论文排版阶段,非常的繁琐和费时.所以我就希望可以有一个自动排版的"脚本" ...

  5. word vba高效排版范例应用_收藏 | 原来word里面也有函数!

    Word里面的rand"函数" 可以在文档中快速生成文本,小伙伴在Word中练习排版时,可以用虚拟文本来练习排版.在任意位置输入=rand()必须为英文半角,按[Enter]键,就 ...

  6. word vba高效排版范例应用_Word 排版指北丨高效律师

    1 前言 前几天看到同事还在以敲回车的方式对word进行分页,我不禁感叹:虽然 Word 是很多律师必备的工具,但是很多人并不会用 word 排版.于是总结下自己平时使用Word排版的相关经验,希望能 ...

  7. word公式自动排版最简单

    如果我们在word是insert equation插入的公式的话,只要在公式后面输入#(number)然后回车,就会直接居中,并且自动更新编号. 效果:

  8. 毕业论文word文档排版教程(动图的方式演示,针对wps)

    很久之前写好的文章,不知不觉毕业了那么久了 目录 1  常用快捷键 2  显示全部格式标记 3  因有手动换行符无法实现首行缩进 4  利用表格制作矩阵 5  因有英文(代码)和中文而导致空隙过大 6 ...

  9. Web 自动化下载及转换Word自动排版

       Web 自动化下载及转换 Word 的应用,主要涉及到爬虫技术的应用和 docx 的应用.通过爬虫的应用,能快速把你想搜集的内容以及图片,视频等下载,利用 docx实现对Word的自动排版等功能 ...

最新文章

  1. Java中的包,类的导入,静态导入
  2. 记事本里出现该文件含有Unicode格式的字符,当保存为ANSI编码的文本时,该字符将丢失。怎么解决?
  3. R语言ggplot2可视化:使用ggrepel包在线图(line plot)的尾端那个数据点添加文本标签(text label)
  4. spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例...
  5. hibernate搭建
  6. File errorchecker.pyx, line 17, in OpenGL_accelerate.errorchecker._ErrorChecker.__init__ (src\erro
  7. 网站商务通如何导出查看历史聊天纪录
  8. python按行求和_Python第一篇:对3个Excel文件进行整合
  9. Flink从入门到精通100篇(二十)-Zeppelin SDK在Flink 中的应用(附测试代码)
  10. 说说云盘背后的黑科技!
  11. ln -s 的一个坑
  12. tomcat配置自动服务器地址,修改eclipse部署tomcat时服务器部署地址
  13. matlab中循环读入文件内容,[转载]Matlab利用load循环读入数据文件
  14. 【Go语言】【15】GO语言的面向对象
  15. python连载第12篇 for循环 源码+ 答案
  16. GROUPING amp; GROUPING_ID amp; GROUP_ID amp; GROUPING SETS
  17. 计算机网络bd,第七周-计算机网络技术
  18. 修改Chrome默认搜索引擎为Google.com
  19. css实现w3cschool广告轮播图
  20. 计算所汉语词性标记集

热门文章

  1. 看过来,u盘删除的文件还能找回吗?两种方法教给你
  2. 基音周期 检测 matlab,语音信号基音周期检测的matlab程序
  3. 考研英语 - word-list-22
  4. python多个箱线图_python-matplotlib | 箱线图及解读
  5. 英文字母的大小写互换,将所有都变成小写,所有都变成大写 位运算实现
  6. 计算机与英语关系,计算机底层和英文毫无关系
  7. 好家伙!上天入地混血儿料箱机器人
  8. 2038年问题 linux内核5.6,Linux Kernel 5.6 开发者已率先做好准备 应对 2038 年问题
  9. 计算机各键的名称和作用,space是什么键 键盘键位名称及功用详解
  10. 查询数据库表空间文件位置及扩充表空间,查询表空间容量