不等了,使用VBA吧,操作方法: 先更新文档中的目录域,再运行Example过程,或者单击格式工具栏中的第一个命令“取得章节号”即可,请在宏安全性为低的情况下运行,若非,请在工具/宏/安全性设置为低后重启WORD再打开附件文档,运行该宏。 '* +++++++++++++++++++++++++++++ '* Created By SHOUROU@ExcelHome 2006-11-20 6:08:46 '仅测试于System: Windows NT Word: 11.0 Language: 2052 '№ 0100^The Code CopyIn [ThisDocument-ThisDocument]^' '* ----------------------------- Option Explicit Sub Example() '运行本代码前请新更新目录域 Dim myTableContent As TableOfContents, oField As Field Dim strField As String, myStyle As String, myRange As Range Dim N As Integer, ColId As Byte, myPage As String On Error GoTo ErrHandle With ActiveDocument If .TablesOfContents.Count < 1 Then Exit Sub Application.ScreenUpdating = False '关闭屏幕更新 myStyle = "标题 1" '此处设置需要加入作者的段落样式,通常应为第一标题级别 Set myTableContent = .TablesOfContents(1) '定义为活动文档的第一个目录 For Each oField In myTableContent.Range.Fields '在目录所有区域中域中循环 strField = VBA.UCase(oField.Code.Text) '取得域代码的大写(统一,以便后续处理) If VBA.InStr(strField, " HYPERLINK \L") > 0 Then '如果含有指定字符 strField = VBA.Replace(strField, " HYPERLINK \L ", "") '删除该指定文本 strField = VBA.Replace(strField, " ", "") '删除空格 strField = VBA.Replace(strField, """", "") '删除半角引号
[此贴子已经被作者于2006-11-20 6:14:25编辑过] |