ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创]如何将自动编号转化为普通文本?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-1-3 15:04 | 显示全部楼层 |阅读模式

初学vba,前阵研究老大的代码,看到了不少优秀的令人激动的代码,现在提问一个问题。

Sub Sample()

Dim i As Paragraph, MyStr As String

 Application.ScreenUpdating = False

 MyStr = "一二三四五六七八九十" '假定为手动加注每个段落开头为中文大写数字

 For Each i In Me.Paragraphs

If i.Range Like "(#)*" = True Then

i.Style = wdStyleHeading9 '标题9是以(1)等开头的数字

 ElseIf i.Range Like "#.#.#.#*" = True Then

i.Style = wdStyleHeading8 '标题8是以1.1.1.1的形式开头的段落

 ElseIf i.Range Like "#.#.#*" = True Then

 i.Style = wdStyleHeading7 '标题7是以1.1.1的形式开头的段落

 ElseIf i.Range Like "#.#*" = True Then

 i.Style = wdStyleHeading6 '标题6是以1.1形式开头的段落

 ElseIf InStr(MyStr, Me.Range(i.Range.Start, i.Range.Start + 1).Text) > 0 Then

 i.Style = wdStyleHeading5 '标题5是以一等形式开头的段落

 Else i.Style = wdStyleNormal '其它为正文样式

 End If

 Next

 Application.ScreenUpdating = True

End Sub

利用老大该代码能够将手动录入的段落编号转化为制定样式,进而为插入目录提供基础。

问题在于,对存在自动编号的文章(初用word的人,一会儿自动编号,一会儿手动编号,很乱),该代码不能识别自动编号,并且能去除自动编号,未免美中不足。

想知道,能不能用vba操纵自动编号,使之变成普通文本,从而可以顺利的使用老大的代码编排目录。不用vba也行,比如快捷键什么的。我记得可以用Ctil+Shift+F9可以将自动生成的目录固定成普通文本。

谢谢!

TA的精华主题

TA的得分主题

发表于 2007-1-3 16:39 | 显示全部楼层

可使用:

ActiveDocument.Content.ListFormat.ConvertNumbersToText

相关链接:

http://club.excelhome.net/viewthread.php?tid=205807&replyID=&skin=0

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-1-3 17:21 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 09:49 , Processed in 0.022828 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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