会员
周边
新闻
博问
融资
云市场
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
ningj3
冰冻三尺非一日之寒!
博客园
首页
新随笔
联系
订阅
管理
word中对特定内容批量应用样式
由于word的查找不支持正则表达式,所以很难匹配VB中的注释,这样也就无法对这些注释批量应用一些样式,于是自己写了一段VBA来对这些注释批量应用样式,代码如下:
Code
1
Sub
ToComment()
2
'
3
'
Description: 把文档中的VBA注释应用特殊样式
4
'
Author: BusyAnt
5
'
CreateTime: 2009-03-03 00:01:34
6
'
7
Dim
fRange
As
Range
8
9
'
禁止刷屏
10
Application.ScreenUpdating
=
False
11
12
Set
doc
=
ActiveDocument
13
'
删除现有的样式
14
For
i
=
1
To
doc.Styles.Count
-
1
15
If
doc.Styles(i).NameLocal
=
"
VBA注释
"
Then
16
doc.Styles(i).Delete
17
End
If
18
Next
19
20
'
新建样式
21
ActiveDocument.Styles.Add Name:
=
"
VBA注释
"
, Type:
=
wdStyleTypeCharacter
22
With
ActiveDocument.Styles(
"
VBA注释
"
).Font
23
.Bold
=
False
24
.NameFarEast
=
"
仿宋_GB2312
"
25
.NameAscii
=
"
宋体
"
26
.NameOther
=
"
宋体
"
27
.Name
=
"
Arial
"
28
.Size
=
10.5
29
.Color
=
wdColorGreen
30
End
With
31
32
'
初始化fRange
33
Set
fRange
=
ActiveDocument.Range(Start:
=
0
,
End
:
=
ActiveDocument.Content.End)
34
35
'
应用
36
Call
ApplyStyle(fRange)
37
End Sub
38
39
Sub
ApplyStyle(ByRef fRange
As
Range)
40
Dim
cRange
As
Range
41
Set
cRange
=
ActiveDocument.Range(
0
,
0
)
42
With
fRange.Find
43
.Text
=
"
'
"
44
.Forward
=
True
45
.Wrap
=
wdFindStop
'
搜索到文档末尾截止
46
.Format
=
False
47
.MatchCase
=
False
48
.MatchWholeWord
=
False
49
.MatchByte
=
False
50
.MatchAllWordForms
=
False
51
.MatchSoundsLike
=
False
52
.MatchWildcards
=
False
53
End
With
54
fRange.Find.Execute
'
将改变fRange的起始位置
55
If
Not
fRange.Find.Found
Then
'
找不到就退出
56
Exit
Sub
57
End
If
58
cRange.Start
=
fRange.Start
59
Debug.Print cRange.Start
60
cRange.End
=
fRange.Paragraphs(
1
).Range.End
61
fRange.Start
=
cRange.End
62
fRange.End
=
ActiveDocument.Content.End
63
cRange.Style
=
ActiveDocument.Styles(
"
VBA注释
"
)
64
Call
ApplyStyle(fRange)
65
End Sub
66
End Sub
作者:
aXen
出处:
http://ningj3.cnblogs.com/
本文版权归
作者
和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @
2009-03-03 00:27
ningj3
阅读(
464
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告