. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 关闭主题
 
主题工具
gzhls
 
gzhls 的头像
支柱会员
 
资 料:
注册日期: Aug 2009
帖子: 4,976 声望值: 4
精华: 0,解答: 15
#1 旧 2011-09-27, 21:51:11 默认 【求助】如何在word中全选出未设置任何大纲级别的全部文字?
gzhls 当前离线  

【求助】如何在word中全选出未设置任何大纲级别的全部文字?
gzhls
 
gzhls 的头像
支柱会员
 
资 料:
注册日期: Aug 2009
帖子: 4,976 声望值: 4
精华: 0,解答: 15
#2 旧 2011-09-28, 10:35:44 默认
gzhls 当前离线  

请大家赐教
hsw
 
hsw 的头像
支柱会员
 
资 料:
注册日期: Jan 2001
帖子: 4,229 声望值: 3
精华: 1,解答: 8
#3 旧 2011-10-04, 16:55:16 默认
hsw 当前离线  

很简单的,给你一个例子,列出所有大纲级别的文字,并整理出来(整理出来的文字可以直接根据层次剪贴到Execl中),你反过来处理就OK:

Sub CreateToc1()
Dim para As Paragraph
Dim txt As String
Dim txtTab As String

'For Each para In Application.ActiveDocument.Paragraphs

For Each para In ActiveDocument.Paragraphs
txtTab = ""
If para.Style = ActiveDocument.Styles(wdStyleHeading1) Then
txt = txt + txtTab + para.Range.Text '+ Chr$(13) + Chr$(10)

ElseIf para.Style = ActiveDocument.Styles(wdStyleHeading2) Then
'Exit For

txtTab = Chr$(9)
txt = txt + txtTab + para.Range.Text '+ Chr$(13) + Chr$(10)
ElseIf para.Style = ActiveDocument.Styles(wdStyleHeading3) Then
txtTab = Chr$(9) + Chr$(9)
txt = txt + txtTab + para.Range.Text '+ Chr$(13)
ElseIf para.Style = ActiveDocument.Styles(wdStyleHeading4) Then
txtTab = Chr$(9) + Chr$(9) + Chr$(9)
txt = txt + txtTab + para.Range.Text '+ Chr$(13)
ElseIf para.Style = ActiveDocument.Styles(wdStyleHeading5) Then
'Exit For
txtTab = Chr$(9) + Chr$(9) + Chr$(9) + Chr$(9)
txt = txt + txtTab + para.Range.Text ' + Chr$(13)
End If
' txt = txt + txtTab + para.Range.Text + Chr$(13)
Next para

ActiveDocument.Range.InsertAfter txt

End Sub
gzhls
 
gzhls 的头像
支柱会员
 
资 料:
注册日期: Aug 2009
帖子: 4,976 声望值: 4
精华: 0,解答: 15
#4 旧 2011-10-08, 21:43:04 默认
gzhls 当前离线  

我不太清楚怎么利用VBA解决。我在WORD中新建一个VBA,然后复制保存,运行后无反应。打开EXCEL粘贴,只有一张显示m的平方的小图片。

另外,这些没设置大纲级别的文字并不连续。如果不能直接选中并设置,而是全粘贴到另一处。我也没办法改回去呀。谢谢朋友
hsw
 
hsw 的头像
支柱会员
 
资 料:
注册日期: Jan 2001
帖子: 4,229 声望值: 3
精华: 1,解答: 8
#5 旧 2011-10-09, 09:33:47 默认
hsw 当前离线  

Word没有要使用宏操作来添加VBA,看你描述应该是操作错了。
hsw
 
hsw 的头像
支柱会员
 
资 料:
注册日期: Jan 2001
帖子: 4,229 声望值: 3
精华: 1,解答: 8
#6 旧 2011-10-09, 17:50:00 默认
hsw 当前离线  

做了一个例子,你下载后以Word 2003为例:
打开文档->alt+F8启动宏管理->“宏名”选择“Document_New”->运行
就会自动把文档中所有大纲(1一级到5级)都删除了

另外,宏安全应该设置至少为中级,以Word 2003为例子:
工具->选项->安全性->宏安全->安全级别->中
然后关闭文档,重新打开,就会询问是否允许运行宏了

代码在文档里面,就不写了,个人觉得非常恶心,就拿我上面的代码修改了一下。这个只删除大纲段落,其他事情不会干。
上传的附件
文件类型: zip 例子.zip (525.1 KB, 2 次查看)
gzhls
 
gzhls 的头像
支柱会员
 
资 料:
注册日期: Aug 2009
帖子: 4,976 声望值: 4
精华: 0,解答: 15
#7 旧 2011-10-10, 08:00:02 默认
gzhls 当前离线  

感谢楼上的兄弟。但我全选出未设置任何大纲级别的全部文字是为了把它们全设为大纲级别

我不会VBA,还烦请朋友修改下(不要删除其他大纲级别的呀。要不没法在修改后复原文章)
hsw
 
hsw 的头像
支柱会员
 
资 料:
注册日期: Jan 2001
帖子: 4,229 声望值: 3
精华: 1,解答: 8
#8 旧 2011-10-10, 14:28:11 默认
hsw 当前离线  

引用:
作者: gzhls 查看帖子
感谢楼上的兄弟。但我全选出未设置任何大纲级别的全部文字是为了把它们全设为大纲级别

我不会VBA,还烦请朋友修改下(不要删除其他大纲级别的呀。要不没法在修改后复原文章)
这个操作我听不太懂,你说清楚一点
Robert
 
Robert 的头像
普通会员
 
资 料:
注册日期: Oct 2011
帖子: 25 声望值: 1
精华: 0,解答: 3
#9 旧 2011-10-10, 18:04:42 默认
Robert 当前离线  

未设置大纲级别的文字,是不是指的”正文“呢?
查找\格式\样式\正文,然后阅读突出显示\全部突出显示……
gzhls
 
gzhls 的头像
支柱会员
 
资 料:
注册日期: Aug 2009
帖子: 4,976 声望值: 4
精华: 0,解答: 15
#10 旧 2011-10-10, 22:40:01 默认
gzhls 当前离线  

引用:
作者: Robert 查看帖子
未设置大纲级别的文字,是不是指的”正文“呢?
查找\格式\样式\正文,然后阅读突出显示\全部突出显示……
不是,正文也是一种大纲级别,即9级。我都不知道我同时发给我的文章,是怎么搞成有些文字能不存在任何大纲级别的
发表新主题 关闭主题

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 05:02:46.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号